我正在尝试使用 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 视频播放器)?
我做错了什么?
干杯 :) .
最佳答案
为什么不通过向“on”调用添加另一个参数来定位特定的 div?
$("body").on("click", "#flash_holder", function(e) {
alert("clicked on flash_holder");
});
如果您只针对单个元素,可能根本不需要使用委托(delegate):
$("#flash_holder").click(function(e) {
alert("clicked on flash_holder");
});
关于jQuery检测div内的点击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12801295/