1

別のJavascript、おそらくあなたにとってはマイナーな問題ですが、それを修正する方法がわかりません。一晩中グーグルで調べました。問題は簡単です...テーブルがあり、tdの中にボタンがありonclick、それらすべてにイベントを割り当てました。ボタンをクリックすると関数が実行され、関数の最後でそのイベントを別の関数に変更したいのですが、ここに私のコードがあります...

var $UserRow = $(Final).closest('tr').clone();

$('td button', $UserRow).each(function () {

   this.removeEventListener('click', GetInfo, false);
   this.addEventListener('click', GetBetslip, false);
});

$UserRow.appendTo('#UserTicket');

$UserRow別のテーブルにコピーしたい行があり、その部分は正常に動作していますが、コピーする前にすべてのボタンイベントを削除したい...

this.removeEventListener('click',GetInfo,false);
this.detachEvent('Click', GetInfo);
this.onclick = GetBetslip;
this.onclick = function () { GetBetslip()};

私はもう何を試すべきかわからない...助けてもらえますか...私が望むのは、そのtr内のすべてのボタンのイベントを変更することだけです.

4

2 に答える 2

2

jQuery を使用している場合は、jQuery を使用してイベントをバインドおよびバインド解除することをお勧めします。このメソッドは、jQuery を使用してハンドラーをバインドする場合にのみ使用できます。

代わりにこれを行います:

$('td button', $UserRow).each(function () {

   $(this).off('click', GetInfo);
   $(this).on('click', GetBetslip);
});
于 2012-10-03T07:02:49.373 に答える
2

この関数を探している場合は、jQuery を使用しているようです。$().off()

コメントによると、これでうまくいくかもしれません:

$(this).attr('onclick', false);
于 2012-10-03T06:59:16.580 に答える