Rumah > Soal Jawab > teks badan
document.addEventListener('mousedown',function(){
document.addEventListener('mouseup',(event)=>{
console.log(1);
},false);
},false)
每次鼠标抬起来的时候 控制台输出1,
但是发现鼠标点多几次后控制台不是每抬起一次鼠标 控制台输出一次。 一直重复点好像出现了循环输出。 这样会影响性能呀。
高洛峰2017-04-11 12:54:47
你每按下一次鼠标就加了一个mouseup
事件,然后就越来越多越来越多。
可以在mouseup
的回调里把mouseup
事件绑定解除了。
或者这样,做个简单的判断
document.addEventListener('mousedown',function(){
if(document.eventMouseup){
return false
}else{
document.addEventListener('mouseup',(event)=>{
console.log(1);
},false);
document.eventMouseup = true;
}
},false)
或者参考这个问题,使用jQuery