在使用JavaScript添加到DOM的元素上使用jQuery

时间:2014-03-25 18:16:16

标签: jquery socket.io

我有一个涉及接口级jQuery的相当复杂的问题。我正在使用JavaScript为我的页面加载HTML,然后在页面加载后我使用jQuery来监听几个类的按钮点击。基本上,套接字会发出一个页面名称,然后JavaScript会填充我的页面。

问题是,jQuery没有响应我在JavaScript代码的其他函数中创建的元素上的click事件(或任何事件)。例如:

套接字加载页面:

socket.on('loadpage', function (data) { 
    if (data.page == 'button') showButton(); 
});

function showButton() {
    $('.hook').html('<div class="container"><button class="btn"></button></div>');
}

然后......

$(function() {
  $(".btn").click(function() {
      console.log('click');
  }
});

这不会激发。

1 个答案:

答案 0 :(得分:1)

使用代表

 $(".hook").on("click",".btn",function() {
  console.log('click');
 }