jQuery检测div内的点击

标签 jquery

我正在尝试使用 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/

相关文章:

javascript - 3 态 CSS 拨动开关

jquery - 如何在 WordPress 上更新 jQuery?

javascript - 未捕获的类型错误 : Object [object Object] has no method 'copy'

jquery mobile css 不从本地加载,只能从 web 加载

javascript - 有时 Jquery.width() 和 .height() 工作错误

jquery - 将 <li> 放在菜单的底部

jquery - 通过css和jquery设置高度,css优先

javascript - jQuery 将参数发送到 Rails 应用程序以保存在数据库中

javascript - 清空 CKEditor -TextArea

javascript - 当我的第一个 <LI> 标签在排序中动态变化时,如何使其着色