添加侦听器
for ( i = 0; i < kbButtons.length; i++ ) {
kbButtons[i].addEventListener("click", function() { clickKbButton( this ); }, false);
}应该删除侦听器
function clickKbButton ( elem ) {
elem.removeEventListener("click", function() { clickKbButton( this ); }, false);
elem.id = "invis"
}所有操作正常,控制台中没有错误,按钮单击“工作”,但在我单击它之后不会删除它。
发布于 2013-09-30 03:35:35
根据文档,我猜事件处理程序应该引用相同的函数:
for ( i = 0; i < kbButtons.length; i++ ) {
kbButtons[i].addEventListener("click", clickKbButton, false);
}
function clickKbButton ( ev ) {
this.removeEventListener("click", clickKbButton, false);
this.id = "invis"
}简单小提琴示例
发布于 2013-09-30 03:34:49
我想您应该使用对function() { clickKbButton(this); }的变量引用,addEventListener & removeEventListener中的两个函数实际上是两个不同的函数。
var handler = function() { clickKbButton(this) };然后在添加和删除侦听器时使用此处理程序变量。
https://stackoverflow.com/questions/19086056
复制相似问题