div失去焦點事件實現(xiàn)思路
更新時間:2014年04月22日 15:50:11 作者:
blur只是針對form表單控件的,而對于 span , div , li 之類的,則沒辦法觸發(fā)它們的動作,本文有個示例,看看是怎么實現(xiàn)的
看本文得先了解以下幾個事件(摘自w3c)。
blur事件: 當元素失去焦點時發(fā)生 blur 事件。
focus事件:focus() 方法用于賦予文本域焦點(也值讓某些元素得到焦點事件)。
tabIndex屬性:tabIndex 屬性可設置或返回按鈕的 tab 鍵控制次序。
我們都知道blur只是針對form表單控件的,而對于 span , div , li 之類的,則沒辦法觸發(fā)它們的動作,現(xiàn)在我們只需要設置一個tabindex屬性則可以觸發(fā)它們的焦點事件了。
真實項目代碼:
Esc.PopupMenu.prototype._createPopup=function(){
var popupDiv = $('<div tabindex=1></div>'); //創(chuàng)建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 style="white-space:pre"> </span>//讓div得到焦點
};
popupDiv.blur(function(){
popupDiv.hide();
});
return _popup;
}
這段代碼的意思是我用div模擬一個createPopup(IE可以直接生成),生成的時候給它一個tabindex屬性,然后加入span,然后讓它支持顯示隱藏。特別值得注意的是popupDiv,focus(),必須要給div一個焦點,否則它沒有焦點如何失去焦點。
blur事件: 當元素失去焦點時發(fā)生 blur 事件。
focus事件:focus() 方法用于賦予文本域焦點(也值讓某些元素得到焦點事件)。
tabIndex屬性:tabIndex 屬性可設置或返回按鈕的 tab 鍵控制次序。
我們都知道blur只是針對form表單控件的,而對于 span , div , li 之類的,則沒辦法觸發(fā)它們的動作,現(xiàn)在我們只需要設置一個tabindex屬性則可以觸發(fā)它們的焦點事件了。
真實項目代碼:
復制代碼 代碼如下:
Esc.PopupMenu.prototype._createPopup=function(){
var popupDiv = $('<div tabindex=1></div>'); //創(chuàng)建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 style="white-space:pre"> </span>//讓div得到焦點
};
popupDiv.blur(function(){
popupDiv.hide();
});
return _popup;
}
這段代碼的意思是我用div模擬一個createPopup(IE可以直接生成),生成的時候給它一個tabindex屬性,然后加入span,然后讓它支持顯示隱藏。特別值得注意的是popupDiv,focus(),必須要給div一個焦點,否則它沒有焦點如何失去焦點。
相關文章
javascript中Array()數(shù)組函數(shù)詳解
在JavaScript中數(shù)組也是比較常用的對象之一,數(shù)組是值的有序集合,本篇文章給大家分享Javascript中Array()數(shù)組函數(shù)詳解,需要的朋友可以參考下2015-08-08微信小程序canvas.drawImage完全顯示圖片問題的解決
這篇文章主要介紹了微信小程序canvas.drawImage完全顯示圖片問題的解決,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-11-11“不能執(zhí)行已釋放的Script代碼”錯誤的原因及解決辦法
“不能執(zhí)行已釋放的Script代碼”錯誤的原因及解決辦法...2007-09-09js 替換功能函數(shù),用正則表達式解決,js的全部替換
js 替換功能函數(shù),用正則表達式解決,js的全部替換,學習js的朋友可以參考下。2010-12-12百度坐標(BD09)、國測局坐標(火星坐標,GCJ02)、和WGS84坐標系之間的轉(zhuǎn)換
這篇文章主要介紹了百度坐標(BD09)、國測局坐標(火星坐標,GCJ02)、和WGS84坐標系之間的轉(zhuǎn)換的相關資料,需要的朋友可以參考下2016-02-02