使用JQuery将事件侦听器添加到动态添加的元素中?

时间:2013-10-26 14:18:50

标签: javascript jquery html

我使用jQuery div方法动态附加on元素,但是当我将一个侦听器附加到动态更新的元素时,它不起作用?

HTML

<input class="123" type="button" value="button" />
<input class="123" type="button" value="button" />
<div id="footer"></div>

的jQuery

$(document).ready(function () {
  $('.onlineUsers').on('click', function () {
      $('#footer').append("<div class=\"chatboxes\"> <div class=\"close\"><a href=\"#\">x</a></div> </div>");
  });

    $('a').on('click', function () {
        alert("hello");
    });
});

1 个答案:

答案 0 :(得分:2)

使用.on()

由于元素是动态添加的,因此无法将事件直接绑定到它们。因此,您必须使用Event Delegation

$('#footer').on('click','a',function () {
     alert("hello");
});

语法

$( elements ).on( events, selector, data, handler );