0

我有一个 jquery,当您单击时执行一个操作a.data。问题是当我a.data用另一个函数创建几个时,它不执行操作。

我不明白为什么新的a.data不起作用?

这创造了新a.datadivdata

var data_html  = '<a class="data" href="#" value="'data.id'">' + ref.info + '</a>';
$(data_html).prependTo( $('#divdata') );

这会将动作带到相应的a.data

$('a.data').click( function (){
    $(this).attr('href');
    var idvalue = $(this).attr('value');
    idvalue *= 1;
    // aqui realizo  la acción
    console.log(idvalue);
 });
4

2 回答 2

2

您必须委托该事件,如下所示:

$('#divdata').on('click', 'a.data', function (){
    $(this).attr('href');
    var idvalue = $(this).attr('value');
    idvalue *= 1;
    // aqui realizo  la acción
    console.log(idvalue);
 });
于 2013-03-26T19:44:26.397 回答
1

http://api.jquery.com/on/您的绑定方法只绑定到现有元素。您需要使用 on 绑定到父元素才能绑定后续元素。

$("#divdata").on("click", "a.data", function(){
  // event stuff here
});
于 2013-03-26T19:47:45.717 回答