我有這樣的代碼:`綁定使用jQuery click`事件:讓瀏覽器的事件,而不是jQuery的事件
$link.click(function (e) {
debugger;
});
當鏈接被點擊和調試器配合,e
是一個普通的瀏覽器事件,而不是一個jQuery事件。沒有.stopPropagation()
或.preventDefault()
。
這是爲什麼?
我有這樣的代碼:`綁定使用jQuery click`事件:讓瀏覽器的事件,而不是jQuery的事件
$link.click(function (e) {
debugger;
});
當鏈接被點擊和調試器配合,e
是一個普通的瀏覽器事件,而不是一個jQuery事件。沒有.stopPropagation()
或.preventDefault()
。
這是爲什麼?
因爲,正如你所說,它是一個普通的瀏覽器事件,而瀏覽器事件沒有這種方法。
要停止傳播,只需return false
。
e
應該是jQuery.Event
一個實例,因此這些方法應可用:
$("a").click(function(e) {
alert(e instanceof jQuery.Event); // true
});
你能否提供更多的背景,如調試輸出?
嘗試
$link.bind("click", function (e) {
var jQueryEvent = e,
browserEvent = e.originalEvent;
});