【发布时间】:2012-07-20 04:20:26
【问题描述】:
我有一个 div 有几个 img-Objects 位置:绝对像这样:
<div>
<img>
<img>
<img>
<img>
</div>
现在,当调用图像的 mousedown 处理程序之一时,事件只会冒泡,而忽略其他图像,即使它们可能在彼此后面。
$('img').mousedown((event) -> if(something) event.stopPropagation());
$('div').mousedown(-> alert('event came through'));
我试图嵌套它们来解决这个问题,但这也不起作用:
<div>
<img>
<div>
<img>
<div>
<img>
...
</div>
</div>
</div>
有什么方法可以在不手动对每张图像运行命中测试的情况下使其工作?
【问题讨论】:
-
jsFiddle 会让这个问题更清晰,更容易回答。
-
@madfriend 基本上图像代表具有透明背景的形状,我只希望在单击形状本身时触发 mousedown 事件,而不是图像的透明部分。这本身并不难做到,但是当另一个图像位于“背景”中时单击透明部分将导致单击事件直接冒泡到容器。
标签: javascript jquery html coffeescript