单击事件未触发动态添加的div

时间:2013-12-12 12:19:22

标签: javascript jquery html

我已将动态div添加到HTML中,

当我试图触发相同元素的click事件时

我到底尝试过的是下面::

$(function(){
         $("#id").bind("click",function(){
             alert("hi");
          })
});

$(function(){ $("#id").bind("click",function(){ alert("hi"); }) });

我也尝试使用“on”而不是“bind”,但它不起作用。

但是当我写得很简单时,它工作正常

<div onclick="javascript:testFunction();"></div>

1 个答案:

答案 0 :(得分:6)

使用on()委托事件,您可以给出在执行绑定代码后应该添加的元素的静态父级。

$(function(){
   $(document).on("click", "#id",function(){
         alert("hi");
    });
});

委派活动

  

委派事件的优势在于它们可以处理来自的事件   稍后添加到文档中的后代元素。通过   选择一个保证在当时存在的元素   委托事件处理程序附加,您可以使用委托事件   避免频繁附加和删除事件处理程序reference