1

私のプロジェクトでは、div にいくつかのボタンを追加しています。

$(".tab-content").append("<div class='landing_content'><button class='off-screen-nav-button btn btn-info btn_edit' data-effeckt='effeckt-off-screen-nav-right-overlay'>Edit</button></div>");

次に、次のコードでクリックをリッスンします。

$(".tab-content").on("click",".btn-edit",function(){
  console.log('edit');
});

なぜこれが機能しないのですか?私は .live() を使用していましたが、廃止されました。

ありがとう。

4

2 に答える 2

4

メソッドが機能しなかった理由 (指摘されたことは別としてbtn-edit) は、イベントが追加されるまで実際には DOM に存在しなかった要素にイベントをバインドしようとしていたことが原因である可能性があります。これは減価償却されていますが、代わりにこれを行うことができます:

//bind the event to the document which always exists and specify the selector
//as the second argument 
$(document).on("click",".tab-content .btn-edit",function(){
    console.log('edit');
});

詳細については、こちらのドキュメントの jQuery を参照してください。

于 2013-08-07T13:46:20.187 に答える