看本文得先了解以下幾個事件(摘自w3c)。
blur事件: 當元素失去焦點時發生 blur 事件。
focus事件:focus() 方法用于賦予文本域焦點(也值讓某些元素得到焦點事件)。
tabIndex屬性:tabIndex 屬性可設置或返回按鈕的 tab 鍵控制次序。
我們都知道blur只是針對form表單控件的,而對于 span , div , li 之類的,則沒辦法觸發它們的動作,現在我們只需要設置一個tabindex屬性則可以觸發它們的焦點事件了。
真實項目代碼:
復制代碼 代碼如下:
Esc.PopupMenu.prototype._createPopup=function(){
var popupDiv = $('<div tabindex=1></div>'); //創建div
popupDiv.appendTo(this._owner.element); //將div加span
var _popup=popupDiv[0];
_popup.hide=function(){
popupDiv.hide();
},
_popup.show=function(){
popupDiv.show();
popupDiv.focus();<span> </span>//讓div得到焦點
};
popupDiv.blur(function(){
popupDiv.hide();
});
return _popup;
}
新聞熱點
疑難解答
圖片精選