2016-11-26 11 views
0

最初のリストボタンをクリックした後にクリックリスナーが機能しないのはなぜですか?jQueryでクリック可能な要素を変更する方法は?

JSFiddle link

$(".acceptTask").on("click", function(){ 
acceptTask(this); 
}); 

$(".solveTask").on("click", function() { 
solveTask(this); 
}); 

function solveTask(e){ 
... 
} 

function acceptTask(e){ 
... 
$(document).on("click", ".solveTask", solveTask); 
} 
+1

は、なぜあなたはそこsecondeリスナーを持っているのですか?これは$(document).on( "click"、 ".solveTask"、solveTask)です。 } – bySamo

答えて

0

$('.solveTask').on('click', /*...*/)は、クラス「solveTask」を持つものにイベントハンドラを適用します当時。したがって、acceptTask関数にsolveTaskクラスを追加するときは、イベントリスナーを追加してください。

$(e).addClass('btn-warning solveTask') 
    .click(function() { solveTask(this); }); 

はフィドルを参照してください:https://jsfiddle.net/1203y34b/1/

0

私は以前、この問題を抱えていたし、代わりに「オン」の「デリゲート」を使用:

​​
関連する問題