我想在按钮侦听器回调中向事件对象插入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/

有任何想法吗?

最佳答案

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

所以用

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


Demo at jsfiddle.net

10-04 21:52
查看更多