【发布时间】:2011-03-31 20:28:06
【问题描述】:
我想使用 jQuery 为元素触发悬停事件,但我使用 z-index 在元素上放置了一个半透明的 png。有没有办法告诉jQuery忽略png并触发它下面元素的悬停事件?
【问题讨论】:
标签: jquery css events hover z-index
我想使用 jQuery 为元素触发悬停事件,但我使用 z-index 在元素上放置了一个半透明的 png。有没有办法告诉jQuery忽略png并触发它下面元素的悬停事件?
【问题讨论】:
标签: jquery css events hover z-index
如果您使用的是支持 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/
【讨论】: