在IE8中,設置了寬度/高度的塊元素將正確顯示,但鼠標事件和鏈接僅適用於該元素內部的文本。直到元素內部的文本懸停後才能檢測到鼠標懸停。如果這是一個鏈接,只有文字可以點擊。如果我刪除了doctype(將它發送到怪異模式),它工作正常,但打破了網站上的很多樣式。有什麼方法可以讓這個工作正常嗎?IE8塊寬度/高度塊元素直到文本內部懸停爲止才檢測到鼠標懸停
1
A
回答
0
這是由於頁面中存在無腳本標記引起的。刪除它解決了問題。我不知道爲什麼會這樣,但也許別人可以詳細說明。
1
傳統的鼠標事件有很多問題。我強烈建議使用JQuery的mouseenter()和mouseleave()事件。他們通過dom旅行,確保鼠標完全位於所討論的對象之內或之外。甚至有綁定事件的簡寫;你可以用簡便方法懸停()這兩個事件同時綁定到一個元素是這樣的:
$("#some-element").hover(
function(){
// mouse is inside the element
},
function(){
// mouse is outside the element
}
);
希望這有助於。
+0
已經有一段時間了,但我相信我最初使用懸停和嘗試其他方法尋找解決方案。無論如何,這些或本地方法都不起作用,但問題似乎是由於無腳本標記的存在而引起的。 –
0
最近我有一個類似的問題,其中mouseenter
事件只在你處於塊元素內的鏈接的頂部時才起作用。 (但我的問題是IE 7)
嘗試在塊元素中添加zoom: 1
。
#myBlockElement {
zoom: 1;
}
http://www.satzansatz.de/cssd/onhavinglayout.html
我也同意有關using .hover()
in place of mouseenter
and mouseleave
對方的回答,但是,單靠可能無法在IE瀏覽器解決您的問題。
我也想確保我有一個有效的DOCTYPE
,我的頁面上的任何IE問題的工作以前完全compliant in the W3C Validator。
相關問題
- 1. 用鼠標懸停jQuery元素更改元素的寬度
- 2. 邊界上表元素懸停搞亂標準寬度/高度
- 3. 鼠標懸停在塊上
- 4. 鼠標懸停元素
- 5. 鼠標懸停在IE8
- 6. Jquery鼠標懸停/鼠標懸停IE8波動
- 7. 當鼠標懸停時停止暫停 - 完全滑塊
- 8. 點擊元素,但檢測到懸停
- 9. 懸停顯示無,在鼠標懸停顯示塊
- 10. 停止懸停/鼠標懸停的動畫 - 用於選定的元素?
- 11. jquery:防止大規模懸停事件,直到鼠標元素爲0.5秒
- 12. 更改jQuery的鼠標懸停到窗口鼠標懸停
- 13. 剩餘鼠標懸停風格,直到另一個鼠標懸停
- 14. 限制懸停在文本寬度
- 15. 鼠標懸停時如何停止滑塊?
- 16. 獲取JQuery滑塊停止鼠標懸停
- 17. JavaScript高級鼠標懸停
- 18. 如何防止鼠標滾動到懸停元素之外?
- 19. 暫停jQuery懸停(鼠標懸停)
- 20. 鼠標懸停時的jQuery圖像滑塊和鼠標懸停時的重置
- 21. 檢查鼠標懸停或鼠標懸停與pyHook?
- 22. 如何在Selenium Ruby中懸停(鼠標懸停)元素?
- 23. 在懸停(或鼠標懸停)上獲取元素ID
- 24. 鼠標懸停
- 25. 鼠標懸停
- 26. 鼠標懸停
- 27. 鼠標懸停
- 28. 讓頂部元素淡出,底部元素淡入鼠標懸停,然後讓頂部元素在鼠標停止懸停後淡入?
- 29. CSS懸停寬度樣式
- 30. 鼠標懸停鼠標一直執行
請注意,如果您想將IE發送到舊模式,則可以使用[X-UA兼容](http://msdn.microsoft.com/zh-cn/library/cc288325%28v=vs.85% 29.aspx),這可能比僅僅刪除文檔類型更好。對於你的問題的答案:我給sdo的建議+1 – Jeroen
它看起來像你在你的問題中發佈的解決方案。如果您確實找到了解決方案,如果您將其作爲下面的答案張貼,然後「接受」您自己的答案,那麼對未來的讀者最好。 – Sparky