2017-01-14 3 views
-2

Мы можем слушать и обрабатывать события с одним браузером, но как мы можем последовательно слушать комбинацию событий?Захват условной, комбинационной последовательности событий браузера

В псевдокоде, мы ищем что-то вроде этого:

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

AFAIK, мы можем захватить только отдельные события одновременно. Есть идеи?

ответ

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>

Смежные вопросы