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

时间:2012-01-07 03:17:00

标签: javascript events javascript-events event-listener

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 个答案:

答案 0 :(得分:1)

轻松自如;删除两者。

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