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 に答える