Jquery Click事件<a> tag added at run time doesn&#39;t get fired</a>

时间:2010-02-15 05:54:51

标签: jquery

我在运行时使用jquery添加标记。

<a id=add class=add href=#>Test</a>

我想触发此标记的click事件,但不会被触发。

我已经尝试了

$('#add').bind('click', function(e) {

e.preventDefault();
  alert('hello');

});

但没有任何反应。

3 个答案:

答案 0 :(得分:7)

您需要使用 .live()

绑定它
$('#add').live('click', function(e) {
  e.preventDefault();
  alert('hello');
});

.live()方法能够通过使用事件委托来影响尚未添加到DOM的元素。

http://api.jquery.com/live/

答案 1 :(得分:3)

也许您应该使用有效的XHTML:

<a id="add" class="add" href="#">Test</a>

在jQuery中:

$('#add').live('click', function(e) {
    e.preventDefault();
    alert('hello');
});

答案 2 :(得分:2)

在jquery 1.7之后

$( 'document').on( "click",'#step',  function() {
               console.log("Clicking step"); 
});