18
我想爲使用jQuery的元素觸發懸停事件,但我使用z-index在元素上放置了一個半透明png。有沒有什麼辦法可以告訴jQuery忽略png並觸發它下面的元素的懸停事件?由於z-index引起的jQuery懸停問題
我想爲使用jQuery的元素觸發懸停事件,但我使用z-index在元素上放置了一個半透明png。有沒有什麼辦法可以告訴jQuery忽略png並觸發它下面的元素的懸停事件?由於z-index引起的jQuery懸停問題
如果您使用的是支持CSS3一個現代瀏覽器,嘗試添加這條線爲透明PNG的CSS規則:pointer-events: none;
它基本上是告訴瀏覽器忽略此元素上的所有鼠標事件。
例如:
img
{
pointer-events: none;
}
https://developer.mozilla.org/en/css/pointer-events
另外,如果你的目標瀏覽器不支持CSS3,你可以捕獲鼠標事件,然後觸發底層元素上一個新的。
例如,如果你的圖片ID是#img和你的潛在元素ID是#elem你可以這樣做:
$("#elem").hover(function(e){
$("#img").mouseenter(e);
});
您可能必須惹這一點取決於你的DOM是如何設置,這裏的文檔http://api.jquery.com/mouseenter/
謝謝!這工作,我想對於非現代瀏覽器它不會工作,是吧? – user424616 2010-08-18 23:08:47
我剛剛編輯我的答案與jQuery解決方案,這可能適用於較舊的瀏覽器:) – 2010-08-18 23:10:36
真棒剃刀。你怎麼知道這種東西?這是一種真正有用的知識,而且根本不爲人知。 GG mate – 2011-04-22 11:51:13