DIV和其他普通標簽是不具有onfocus和onblur事件的。
INPUT和A標簽為什么擁有?而DIV和SPAN等普通標簽卻沒有?
有時候我們習慣性用鍵盤的TAB來移動光標,仔細看你會發現,光標只在INPUT和A上跳轉。
因為INPUT和A標簽具備TAB屬性。
我們只需要給DIV或者SPAN等普通標簽創建TAB,這些普通標簽就擁有了TAB屬性。
以DIV為例:
讓DIV擁有TAB並具有onfucus和onblur屬性。
給元素創建TAB屬性:tabindex=參數(這里和z-index類似,計算TAB起點)。
<div tabindex="0" hidefocus="true" onfocus='alert("得到焦點");' onblur='alert("失去焦點");' style="border:1px solid #ccc;width:200px;height:200px;outline=0;">讓HTML標簽、DIV、SPAN擁有onfocus和onblur,聚焦和失焦</div>
注:定義TAB屬性后,元素是默認會加上焦點虛線的,那么在IE中可以通過hidefocus="true"去除!其他瀏覽器通過outline=0進行去除