javascript - Cross-Listen to multiple events and trigger callback -


i have list of event names need listen stored in array, so:

var events = ['a', 'b']; 

now, i'm unsure event triggered first , inconsistent (depends on http requests await) can never safely listen 1 of them. so, need somehow "cross-listen" of them in order trigger original callback.

so idea following:

  1. create listener a, creates listener b. b's listener triggers callback.
  2. create listener b, creates listener a. a's listener triggers callback.

so result in 4 listners, (pseudo-code):

var callback = function() { console.log('the callback'); };  event.on('a', function () {     event.on('b', callback); });  event.on('b', function () {     event.on('a', callback); }); 

so believe solve issue (there's problem i'm not seeing here though - help!).

the issue is, can make work when there 2 events need listen to. when have 3-4 events want "cross-listen" to? lets have ['a', 'b', 'c', 'd']. require looping through events. part what's confusing me , i'm not sure how proceed. need register nice combination of events.

this needs done in javascript.

my imagination , logic limited in case. highly appreciated.

i thinking this:

var callback = function() { console.log('the callback'); };  var events = {    'click': false,    'mouseover': false,    'mouseout': false  };    for(prop in events) {    $('.evt-button').on(prop, function(evt) {      if(events[evt.type] === false) {        console.log('first ' + evt.type + ' event');        events[evt.type] = true;        checkall();      }    });  }    function checkall() {    var anyfalse = false;    for(prop in events) {      if(events.hasownproperty(prop)) {        if(events[prop] === false) {          anyfalse = true;          break;        }      }    }    if(!anyfalse) {      callback();    }  }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>  <button class="evt-button">the button</button>


Comments

Popular posts from this blog

Command prompt result in label. Python 2.7 -

javascript - How do I use URL parameters to change link href on page? -

amazon web services - AWS Route53 Trying To Get Site To Resolve To www -