如何正确重新附加onclick事件

时间:2017-06-06 11:24:20

标签: javascript jquery

我有一个OL,其中包含带有小插入按钮的LI:

<li id="123">
  <button class="action1">Do 1</button>
  <button class="action2">Do 2</button>
</li>

我的jquery已经在文档加载上设置了函数:

$('.action1').on('click', function() {
  // do stuff
});

仅在我追加到列表时:

li = '<li...' //defines li item here
$('#myol').append(li);

按钮不做任何事情。我想这是因为在创建listitem之前附加了侦听器,但是将侦听器附加到新创建的项目的正确方法是什么(甚至更好,将它们设置为新创建的项目的方式?

1 个答案:

答案 0 :(得分:0)

您可以将事件附加到您的动态元素:

$('body').on('click', '.action1', function() {
    // do something
});

这适用于所有带有类&#39; action1&#39;的标签。在体内,无论是已存在还是以后动态添加。