1

onclickの私の関数は次のとおりです。

$(document).ready(function() {
    $('.mydata').click(function() {
        alert($(this).attr('data'));
    });
});​

静的要素は機能します:

<div><span id='moreinfo' class='mydata' data="25">Click Me!</span></div>
<div><span id='moreinfo' class='mydata' data="250">Click Me Too!</span></div>

ただし、同じ要素が動的に入力されたdivペアは、関数を起動しません。私は何が間違っているのですか?

コード例:http://jsfiddle.net/KubXr/

4

1 に答える 1

4

イベントの委任が必要です:

$(function(){
  $(document).on('click', '.mydata', function() {
    alert($(this).attr('data'));
  });
});

つまり、動的に追加された既存または将来の要素には、mydataクラスが含まれている場合にイベントがトリガーされます。

于 2012-12-29T06:53:51.560 に答える