1

我正在尝试使用 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 视频播放器)?

我究竟做错了什么?

干杯:)。

4

2 回答 2

6

为什么不通过向“on”调用添加另一个参数来定位特定的 div?

$("body").on("click", "#flash_holder", function(e) {
   alert("clicked on flash_holder");
});

如果您只针对单个元素,可能根本不需要使用委托:

$("#flash_holder").click(function(e) {
   alert("clicked on flash_holder");
});
于 2012-10-09T13:38:24.693 回答
3

显然内部点击事件是由 Flash 处理的。这种点击不会传播到您的 DOM 元素,除非您在 SWF 文件中手动实现它。

于 2012-10-09T13:37:27.213 回答