想實作一個面板,當滑鼠移入時顯示,滑鼠離開時隱藏,為避免冒泡,使用了JQ的mouseenter和mouseleave,在其他瀏覽器沒有問題,但是在IE中,當滑鼠移入的時候,先是觸發mouseenter,緊接著就觸發mouseleave,導致面板顯示不出來。按理說滑鼠移入元素不可能觸發mouseleave的啊?于是打斷點,發現此時的jq event屬性clientX和clientY都為-1,我的滑鼠是在螢屏中部,怎么會變負數呢?offsetX也變成了-886,滑鼠剛移進元素,怎么會距離元素的位置的這么遠?請哪位大神解惑。
uj5u.com熱心網友回復:
offset改client試試uj5u.com熱心網友回復:
已經解決了,雖然不知道為什么IE中在滑鼠剛移入元素的時候會觸發mouseleave,但是此時滑鼠相對于客戶區域的坐標是在外面的。所以會出現clientX = -1;還遇到一個問題就是IE中透明背景竟然也會觸發mouseleave,后來加了1*1的透明圖片才不會觸發。uj5u.com熱心網友回復:
寫兼容ie的代碼轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/27087.html
標籤:JavaScript
上一篇:前端面試為什么都不問CSS和HTML和JS的基礎知識的?
下一篇:JDBCTemlate
