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,如果您正在寻找此功能。$().off()

根据评论,您可能会做得更好:

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

如果使用 jQuery,最好使用 jQuery 绑定和取消绑定事件。仅当您使用 jQuery 绑定处理程序时才能使用此方法:

改为这样做:

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

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