2017-01-14 44 views
-2

我們可以偵聽和處理單個瀏覽器事件,但我們如何按順序偵聽事件組合?捕獲瀏覽器事件的條件組合序列

僞代碼,我們正在尋找這樣的事情:

element.on('click followed by mouse move', function() { 
    // do something 
}) 

據我所知,我們可以在同一時間捕捉只是單一事件。有任何想法嗎?

回答

1

有使用私有範圍和簡單的切換變量的簡單方法:

(function(){ 
 
    // Nothing else can change this, because of it's private scope. 
 
    var clicked = false; 
 
    
 
    document.getElementById('test').addEventListener('click', function(){ 
 
     clicked = clicked ? false : true; 
 
    }); 
 
    document.getElementById('test').addEventListener('mousemove', function(){ 
 
     if (clicked) { 
 
      console.log('moving while clicked.'); 
 
     } 
 
    }); 
 
})();
#test { 
 
    width: 500px; 
 
    height: 500px; 
 
    border: 1px solid red; 
 
    background-color: #ccf; 
 
}
<div id='test'></div>