使用jQuery绑定`click`事件:获取浏览器事件,而不是jQuery事件

时间:2011-04-05 15:36:35

标签: javascript jquery events

我有这段代码:

$link.click(function (e) {
    debugger;
});

单击链接并调试器参与时,e是常规浏览器事件,而不是jQuery事件。没有.stopPropagation().preventDefault()

为什么会这样?

3 个答案:

答案 0 :(得分:1)

尝试

$link.bind("click", function (e) {
    var jQueryEvent = e,
        browserEvent = e.originalEvent;
});

答案 1 :(得分:0)

因为正如你所说,它是一个常规的浏览器事件,浏览器事件没有那种方法。

要停止传播,只需return false

答案 2 :(得分:0)

e应该是jQuery.Event的一个实例,因此这些方法应该可用:

$("a").click(function(e) {
    alert(e instanceof jQuery.Event); // true
});

http://jsfiddle.net/dyJtY/

您能提供更多上下文,例如调试器输出吗?