一旦函数继续执行
Once function keeps executing
我写了一个事件侦听器函数,但它一直像往常一样执行事件侦听器而不是一次here是工作代码,在我写的函数下面
window.once=function(event,cb){
function ccb(e){
event=e||window.event;
if(event){
cb(event);
this.removeEventListener(event,ccb);
}
}
this.addEventListener(event,ccb);
}
window.Element.prototype.once=function(event,cb){
function ccb(e){
event=e||window.event;
if(event){
cb(event);
this.removeEventListener(event,ccb);
}
}
this.addEventListener(event,ccb);
}
您遇到此问题是因为您试图删除 MouseEvent
事件,而不是 MouseEvent
。要澄清这一点,试试这个:
....
function ccb(e){
event=e||window.event;
if(event){
console.log(event);
}
}
....
记录事件 MouseEvent
本身,而
window.once=function(event,cb){
function ccb(e){
....
}
console.log(event)
this.addEventListener(event,ccb);
}
记录字符串 Click
解决方案是从您的鼠标事件中访问密钥 type
,例如
window.once=function(event,cb){
function ccb(e){
event=e||window.event;
if(event){
cb(event);
this.removeEventListener(event.type,ccb);
}
}
this.addEventListener(event,ccb);
}
我写了一个事件侦听器函数,但它一直像往常一样执行事件侦听器而不是一次here是工作代码,在我写的函数下面
window.once=function(event,cb){
function ccb(e){
event=e||window.event;
if(event){
cb(event);
this.removeEventListener(event,ccb);
}
}
this.addEventListener(event,ccb);
}
window.Element.prototype.once=function(event,cb){
function ccb(e){
event=e||window.event;
if(event){
cb(event);
this.removeEventListener(event,ccb);
}
}
this.addEventListener(event,ccb);
}
您遇到此问题是因为您试图删除 MouseEvent
事件,而不是 MouseEvent
。要澄清这一点,试试这个:
....
function ccb(e){
event=e||window.event;
if(event){
console.log(event);
}
}
....
记录事件 MouseEvent
本身,而
window.once=function(event,cb){
function ccb(e){
....
}
console.log(event)
this.addEventListener(event,ccb);
}
记录字符串 Click
解决方案是从您的鼠标事件中访问密钥 type
,例如
window.once=function(event,cb){
function ccb(e){
event=e||window.event;
if(event){
cb(event);
this.removeEventListener(event.type,ccb);
}
}
this.addEventListener(event,ccb);
}