div失去焦點(diǎn)事件實(shí)現(xiàn)思路
更新時(shí)間:2014年04月22日 15:50:11 作者:
blur只是針對form表單控件的,而對于 span , div , li 之類的,則沒辦法觸發(fā)它們的動作,本文有個示例,看看是怎么實(shí)現(xiàn)的
看本文得先了解以下幾個事件(摘自w3c)。
blur事件: 當(dāng)元素失去焦點(diǎn)時(shí)發(fā)生 blur 事件。
focus事件:focus() 方法用于賦予文本域焦點(diǎn)(也值讓某些元素得到焦點(diǎn)事件)。
tabIndex屬性:tabIndex 屬性可設(shè)置或返回按鈕的 tab 鍵控制次序。
我們都知道blur只是針對form表單控件的,而對于 span , div , li 之類的,則沒辦法觸發(fā)它們的動作,現(xiàn)在我們只需要設(shè)置一個tabindex屬性則可以觸發(fā)它們的焦點(diǎn)事件了。
真實(shí)項(xiàng)目代碼:
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得到焦點(diǎn)
};
popupDiv.blur(function(){
popupDiv.hide();
});
return _popup;
}
這段代碼的意思是我用div模擬一個createPopup(IE可以直接生成),生成的時(shí)候給它一個tabindex屬性,然后加入span,然后讓它支持顯示隱藏。特別值得注意的是popupDiv,focus(),必須要給div一個焦點(diǎn),否則它沒有焦點(diǎn)如何失去焦點(diǎn)。
blur事件: 當(dāng)元素失去焦點(diǎn)時(shí)發(fā)生 blur 事件。
focus事件:focus() 方法用于賦予文本域焦點(diǎn)(也值讓某些元素得到焦點(diǎn)事件)。
tabIndex屬性:tabIndex 屬性可設(shè)置或返回按鈕的 tab 鍵控制次序。
我們都知道blur只是針對form表單控件的,而對于 span , div , li 之類的,則沒辦法觸發(fā)它們的動作,現(xiàn)在我們只需要設(shè)置一個tabindex屬性則可以觸發(fā)它們的焦點(diǎn)事件了。
真實(shí)項(xiàng)目代碼:
復(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得到焦點(diǎn)
};
popupDiv.blur(function(){
popupDiv.hide();
});
return _popup;
}
這段代碼的意思是我用div模擬一個createPopup(IE可以直接生成),生成的時(shí)候給它一個tabindex屬性,然后加入span,然后讓它支持顯示隱藏。特別值得注意的是popupDiv,focus(),必須要給div一個焦點(diǎn),否則它沒有焦點(diǎn)如何失去焦點(diǎn)。
您可能感興趣的文章:
- 文本框點(diǎn)擊時(shí)文字消失,失去焦點(diǎn)時(shí)文字出現(xiàn)
- jquery-1.2.6得到焦點(diǎn)與失去焦點(diǎn)的寫法
- js 失去焦點(diǎn)時(shí)關(guān)閉層實(shí)現(xiàn)代碼
- 文本框獲得焦點(diǎn)和失去焦點(diǎn)的判斷代碼
- 在js(jquery)中獲得文本框焦點(diǎn)和失去焦點(diǎn)的方法
- input 輸入框獲得/失去焦點(diǎn)時(shí)隱藏/顯示文字(jquery版)
- jquery獲取焦點(diǎn)和失去焦點(diǎn)事件代碼
- textarea焦點(diǎn)的用法實(shí)現(xiàn)獲取焦點(diǎn)清空失去焦點(diǎn)提示效果
- wangEditor編輯器失去焦點(diǎn)后仍然可以在原位置插入圖片分析
相關(guān)文章
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-09微信小程序?qū)崿F(xiàn)橫向滾動導(dǎo)航欄效果
這篇文章主要介紹了微信小程序?qū)崿F(xiàn)橫向滾動導(dǎo)航欄效果,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-12-12js 替換功能函數(shù),用正則表達(dá)式解決,js的全部替換
js 替換功能函數(shù),用正則表達(dá)式解決,js的全部替換,學(xué)習(xí)js的朋友可以參考下。2010-12-12Bootstrap 3 進(jìn)度條的實(shí)現(xiàn)
這篇文章主要介紹了Bootstrap 3 進(jìn)度條的實(shí)現(xiàn),非常不錯,具有參考借鑒價(jià)值,需要的朋友可以參考下2017-02-02百度坐標(biāo)(BD09)、國測局坐標(biāo)(火星坐標(biāo),GCJ02)、和WGS84坐標(biāo)系之間的轉(zhuǎn)換
這篇文章主要介紹了百度坐標(biāo)(BD09)、國測局坐標(biāo)(火星坐標(biāo),GCJ02)、和WGS84坐標(biāo)系之間的轉(zhuǎn)換的相關(guān)資料,需要的朋友可以參考下2016-02-02