javascript - document mouseup 事件
巴扎黑
巴扎黑 2017-04-11 12:52:47
0
1
316
document.addEventListener('mousedown',function(){
    document.addEventListener('mouseup',(event)=>{
        console.log(1);
    },false);
},false)

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

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

巴扎黑
巴扎黑

全員に返信(1)
小葫芦

你每按下一次鼠标就加了一个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

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート