假设可以多次添加事件侦听器的处理程序,如下所示:

firstPar.addEventListener("click", myFirstEventHandler, false);
firstPar.addEventListener("click", mySecondEventHandler, false);
etc...

因此,如何组合代码,以便可以通过缩短使用:

function allHandler(){
  myFirstEventHandler();
  mySecondEventHandler();
}

要么,

function allHandler(){
   return function(){
      myFirstEventHandler();
     mySecondEventHandler();
  }
}

这样我就可以使用:

firstPar.addEventListener("click",allHandler,false);

或者,另一种方式呢?

===============>>#1 票数:0 已采纳

第一种方法很好,但我将包含以下事件:

function myFirstEventHnadler (event) {
    event.stopPropagation(); // To answer your question in the comments.
}

function mySecondEventHandler (event) {
}

function allHandler(event){
    myFirstEventHandler(event);
    mySecondEventHandler(event);
}

演示: http//jsfiddle.net/aUE2L/

===============>>#2 票数:0

这可能会引入范围界定的复杂性,但是为什么不使用匿名函数呢?

firstPar.addEventListener("click", function(){
  myFirstEventHandler(); 
  mySecondEventHandler();
}, false);

  ask by Casper Flow translate from so

未解决问题?本站智能推荐: