基于mouseout和mouseover等類似事件的冒泡問題解決方法
最近寫點(diǎn)東西,比較鬧心,一個彈出層,上邊有其他元素,本意是鼠標(biāo)離開彈出層時,執(zhí)行一些動作,但在實(shí)際應(yīng)用中,鼠標(biāo)離開彈出層中的元素時,也會激活這些動作。試了各瀏覽器的停止事件冒泡的方法,均無效。
還是咱們javaeye里高人眾多,在一個哥們博客中發(fā)現(xiàn)了如下代碼:
function isMouseLeaveOrEnter(e, handler) {
if (e.type != 'mouseout' && e.type != 'mouseover') return false;
var reltg = e.relatedTarget ? e.relatedTarget : e.type == 'mouseout' ? e.toElement : e.fromElement;
while (reltg && reltg != handler)
reltg = reltg.parentNode;
return (reltg != handler);
}
這個方法是判斷,當(dāng)前元素是不是要執(zhí)行mouseout事件的元素,這樣就可以避免上述問題。
- 兼容ie和firefox的鼠標(biāo)經(jīng)過(onmouseover和onmouseout)實(shí)現(xiàn)--簡短版
- javascript mouseover、mouseout停止事件冒泡的解決方案
- js ondocumentready onmouseover onclick onmouseout 樣式
- 實(shí)現(xiàn)onmouseover和onmouseout應(yīng)用于RadioButtonList或CheckBoxList控件上
- onmouseover和onmouseout的一些問題思考
- 經(jīng)過綁定元素時會多次觸發(fā)mouseover和mouseout事件
- javascript中mouseover、mouseout使用詳解
相關(guān)文章
javascript中onmouse事件在div中失效問題的解決方法
我們預(yù)期只有當(dāng)鼠標(biāo)從div中移開的時候才會觸發(fā)onmouseout事件,可事實(shí)上,當(dāng)我們移到div中的元素時,例如:本例中的a標(biāo)簽時,就會觸發(fā) onmousout事件2012-01-01javascript的解析執(zhí)行順序在各個瀏覽器中的不同
javascript是一種解釋型語言,它的執(zhí)行是自上而下的。由于各個瀏覽器對它的理解有所差異,所以我們有必要深入理解js的執(zhí)行順序2014-03-03javascript實(shí)現(xiàn)拖動元素交換位置
這篇文章主要介紹了javascript實(shí)現(xiàn)拖動元素交換位置的方法,類似拼圖游戲拖拽卡片效果,感興趣的小伙伴們可以參考一下2015-11-11深入學(xué)習(xí)JavaScript執(zhí)行上下文
這篇文章主要介紹了深入學(xué)習(xí)JavaScript執(zhí)行上下文,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價值,需要的朋友可以參考一下,希望對你的學(xué)習(xí)有所幫助2022-08-08javascript驗證手機(jī)號和實(shí)現(xiàn)星號(*)代替實(shí)例
在我們?nèi)粘i_發(fā)中經(jīng)常要驗證客戶輸入的手機(jī)號是否正確,有的時候還需要將中間的四位或者前幾位用星號(*)代替,那該如何實(shí)現(xiàn)呢?下面跟著小編一起來看看。2016-08-08javascript DOM 操作基礎(chǔ)知識小結(jié)
經(jīng)常用到j(luò)avascript對dom,喜歡這方便的朋友也很多,要想更好的對dom進(jìn)行操作,這些基礎(chǔ)一定要知道的。2010-04-04