我想要一個簡單的html表格,突出顯示一行作爲用戶鼠標在它上面。不幸的是,CSS懸停項目不適用於IE。這讓我在javascript中模擬它。我可以使用onmouseenter
或onmouseover
。onMouseOver和onMouseEnter之間的區別
他們之間有什麼區別,我應該使用哪一個?
我想要一個簡單的html表格,突出顯示一行作爲用戶鼠標在它上面。不幸的是,CSS懸停項目不適用於IE。這讓我在javascript中模擬它。我可以使用onmouseenter
或onmouseover
。onMouseOver和onMouseEnter之間的區別
他們之間有什麼區別,我應該使用哪一個?
首先,onmouseenter
是特定於IE的。在其他瀏覽器中不起作用,除非您使用可以simulate此事件的jQuery。
其次,當鼠標進入元素的邊界時,將觸發onmouseenter
和onmouseover
。但是,如果鼠標在第一個元素內輸入子元素,則onmouseenter
不會再次觸發(不會冒泡)。
與onmouseover事件不同,onmouseenter事件不會冒泡。換句話說,當用戶將鼠標指針移動到對象所包含的元素上時,onmouseenter事件不會觸發,而onmouseover會觸發。
我總是使用onmouseover。我使用onmouseover出於同樣的目的(突出顯示一行)。
你可能只需添加在IE的所有元素:hover
支持也不遺餘力自己的一些編碼:
嘗試csshover.htc
css行爲很慢。他們每次運行一個線程都會停止執行。嘗試從htc中添加一些日誌記錄到js中來查看。 如果你只是想創造一個懸停效果。我們使用:除IE6以外的其他所有人都可以使用的懸停。死於IE6。我認爲這是可以接受的,因爲懸停效果只是一件好事。 – 2010-03-04 19:21:58
更新:火狐開始支持'在10版(2012年1月)和Chrome onmouseenter'開始支持它版本30(2013年10月)([source](https://developer.mozilla.org/en-US/docs/Web/Events/mouseenter))。除了[此webkit bug](https://bugs.webkit.org/show_bug.cgi?id=18930)之外,我無法找到Safari的信息,該修復在2013年4月提交。因此'onmouseenter'應該可以工作現在主要瀏覽器的大多數用戶。 – ecraig12345 2015-01-14 06:11:51