2017-04-25 20 views
1

上のオフクリックにどのような方法私はoff、その後onクリックを使用しています。この場合、AJAXロードされた要素

$("#elementId").off("click").on("click",function (event) { 
    // some code 
    event.preventDefault(); 
}); 

のようなjqueryの中にクリックイベントを持っていますがあります。そして、ここにはajaxがロードされた要素の場合の別の方法があります。

$(document).on("click", "#elementId",function (event) { 
     //some code 
     $(this).unbind("click"); 
     }); 

私はちょうど秒1も正常に動作している最初のcase.Howeverのよう

1. がonクリックとともにoffクリックにどのような方法があることを知るようになりました。

2.両方のアプローチの違いは何ですか?クリック中の$("#elementId").off("click").on("click",function (event)$(this).unbind("click");

答えて

0

.off()は、次のように書くことができる -

$("body").off("click", "p", foo); 

これはあなたの最初の質問に答えます。ですから、

$(document).off('click', '#elementId').on('click', '#elementId',function (event) { 
    //some code 
    $(this).unbind('click'); 
}); 

をこのような何かを行うことができますドキュメントでそれについての詳細をお読みください - http://api.jquery.com/off/#off-events-selector

を2番目の質問に答えるために、コードの最初の部分は、既存のイベントハンドラを削除し、新しいを添付しますハンドラー。 2番目のコードはイベントハンドラを1回だけトリガさせます。

.unbindの代わりに.unbindが推奨されていないため、.offを使用することをおすすめします。ここを参照してください - http://api.jquery.com/unbind/

デモをここにあなたの2番目の質問のために - https://codepen.io/anon/pen/KmgbQM

関連する問題