cari

Rumah  >  Soal Jawab  >  teks badan

javascript - document mouseup 事件

document.addEventListener('mousedown',function(){
    document.addEventListener('mouseup',(event)=>{
        console.log(1);
    },false);
},false)

每次鼠标抬起来的时候 控制台输出1,

但是发现鼠标点多几次后控制台不是每抬起一次鼠标 控制台输出一次。 一直重复点好像出现了循环输出。 这样会影响性能呀。

巴扎黑巴扎黑2774 hari yang lalu318

membalas semua(1)saya akan balas

  • 高洛峰

    高洛峰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

    balas
    0
  • Batalbalas