-1

私の問題は、.onを使用しても、クラスが追加された追加されたdivのクリックイベントがトリガーされないことです。これはページからの私のスクリプトです。

$(".added").on("click", function () { alert("halo") });

$("#nextAdress").on("click",function (event) {
    event.preventDefault();
    $("#trainerRegistrationFields").append('<div class="added">adsa</div>');
}

クラスが追加された動的に追加された要素でもクリックイベントがトリガーされるように、私を助けてもらえますか?

事前にお知らせください

4

1 に答える 1

13

動的に追加された要素には、 onのイベント委任構文を使用できます。

$("#trainerRegistrationFields").on("click",".added", function (){ 
    alert("halo") ;
});

コードでは、イベント バインド時に DOM に存在していた要素にのみハンドラーをバインドしています。次の方法でも実行できます。

または、アイテムを追加するときにここにハンドラーを追加します。

   function handleClick(){
      alert("halo");
   }

   $(".added").on("click", handleClick); //for the already existing elements

   $("#nextAdress").on("click",function (event) {
       event.preventDefault();
       $("#trainerRegistrationFields").append($('<div class="added">adsa</div>').on('click', handleClick));
   }
于 2013-09-17T20:13:36.243 に答える