2012-01-07 39 views
1

JavaScript - 如何从事件对象中检测useCapture的值?JavaScript - 如何从事件对象中检测“useCapture”的值?

我做了一个函数,可以在触发一次或任意次数后删除事件侦听器。

这是我有:

/*jslint browser: true, vars: true, white: true, maxerr: 50, indent: 4 */ 
(function() 
{ 
    "use strict"; 

    function removeEventListenerAfterFiring(numberOfTimes, callback, useCapture) 
    { 
     var count = 0; 
     return function listener(event) 
     { 
      count += 1; 

      if (count >= numberOfTimes) 
      { 
       event.target.removeEventListener(event.type, listener, useCapture); 
      } 

      callback(); 
     }; 
    } 

    function functionName() 
    { 
     // Code here. 
    } 

    window.addEventListener("DOMContentLoaded", removeEventListenerAfterFiring(1, functionName, false), false); 
}()); 

有没有一种方法来检测的useCapture值,这样我就不必把它传递给removeEventListenerAfterFiring功能?

回答

1

去简单的方法;删除两个。

event.target.removeEventListener(event.type, listener, false); 
event.target.removeEventListener(event.type, listener, true);