1

私のページには

$(function()
{
  $('.load').click(function()
  { 
  var val =  $(this).attr('value'); //get value of the button that called this function
  //do stuff});
});

最初の html で定義されたいくつかのボタン:

<input type="button" value="getData1" class="load" />

後で同じクラスのボタンを動的に追加し、それらが同じように動作するようにしたい場合、それらを元の関数にバインドするにはどうすればよいですか?

見て.onいたのですが NEW 関数を定義しているようです。すでに定義されているものを使用する方法があることを願っています。

または、関数を個別に定義して、両方の場所から呼び出す必要がありますか? その場合、関数を呼び出した要素をパラメーターとして渡すにはどうすればよいですか?

どんな援助でも大歓迎です。

4

1 に答える 1

3

おっしゃる通り、これonが目的です。On を使用すると、監視する要素を含むドキュメントの部分にリスナーをアタッチできます。

$(document).on('click', '.load', function() { 
    var val =  $(this).attr('value');
});

を使用するdocumentのは最善ではないため、理想的には、現在および将来のすべてのボタンを囲む要素に一致するセレクターをそこに配置します。

document呼び出し後に内部に追加されたボタンonも、後で追加された場合でも、このハンドラーをトリガーします。

于 2012-11-24T18:04:56.870 に答える