如何在事件对象冒泡之前将其附加到事件对象中?

时间:2013-10-03 00:07:44

标签: javascript jquery

我想在按钮侦听器回调中向事件对象插入类似foo = 1的属性,以便身体监听器回调也可以获取它:

$(function() {

    $("button").click(function(e) {
        alert("first");    
        // attach foo to e
    });

    $("body").click(function(e) {
        alert("second");
        // e has foo
    });

});

Jsfiddle:http://jsfiddle.net/exSKF/1/

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

jQuery似乎为事件流的每个阶段构建了一个新的事件包装器对象。但是,您可以通过originalEvent property访问实际的事件对象。

所以使用

$("button").click(function(e) {
    e.originalEvent.foo = 1;
});
$("body").click(function(e) {
    alert(e.originalEvent.foo);
});

Demo at jsfiddle.net