基于mouseout和mouseover等類似事件的冒泡問題解決方法
更新時間:2013年11月18日 10:05:08 作者:
這篇文章主要介紹了關于mouseout和mouseover等類似事件的冒泡問題解決方法。需要的朋友可以過來參考下,希望對大家有所幫助
最近寫點東西,比較鬧心,一個彈出層,上邊有其他元素,本意是鼠標離開彈出層時,執(zhí)行一些動作,但在實際應用中,鼠標離開彈出層中的元素時,也會激活這些動作。試了各瀏覽器的停止事件冒泡的方法,均無效。
還是咱們javaeye里高人眾多,在一個哥們博客中發(fā)現了如下代碼:
復制代碼 代碼如下:
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);
}
這個方法是判斷,當前元素是不是要執(zhí)行mouseout事件的元素,這樣就可以避免上述問題。
您可能感興趣的文章:
相關文章
使用Github?Actions發(fā)布npm包完整過程詳解
本文包含本地發(fā)布npm包發(fā)布流程,?和?github?action自動發(fā)布npm包流程,幫助你更好的發(fā)布自己或公司的npm包,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-09-09

