我正在尝试使用jQuery来检测用户何时在页面上的div中单击。应该很容易,但它不起作用。
以下是我的代码摘要(在HTML中):
<div class="outerDiv">
<object id="video">
...
</object>
</div>
在jQuery中:
$("body").on("click",function(e){
if(e.target.id=="outerDiv") {
... do something
}
if(e.target.id=="video") {
alert("Inside div");
}
...
});
但是,当点击id为“video”的对象内部时,没有任何反应。但是,如果我在“outerDiv”中单击,则会被代码选中。
是否可以在“视频”ID中查看我有一个对象(在这种情况下是一个内置的Flash视频播放器)?
我做错了什么?
干杯:)。
答案 0 :(得分:3)
为什么不通过在'on'调用中添加另一个参数来定位特定的div?
$("body").on("click", "#flash_holder", function(e) {
alert("clicked on flash_holder");
});
如果您只定位单个元素,则可能根本不需要使用委派:
$("#flash_holder").click(function(e) {
alert("clicked on flash_holder");
});
答案 1 :(得分:2)
显然,内部点击事件由Flash处理。除非您手动在SWF文件中实现,否则此类点击不会传播到您的DOM元素。