Dav*_*her 5 javascript preventdefault
这似乎是一个荒谬的简单问题,但似乎更难......
我想阻止对中键的默认处理。我创建了一个的jsfiddle并加送stopPropagation
,stopImmediatePropagation
,preventDefault
和return false
-就像这样:
$(document).on("mousedown", "a", function(e)
{
console.log("\nprevent mousedown...");
e.stopPropagation();
e.stopImmediatePropagation();
e.preventDefault();
console.log("...mousedown prevented");
return false;
});
Run Code Online (Sandbox Code Playgroud)
但是中键被触发。顺便说一句,当我松开中间按钮时它会被触发。这是 JSFiddle:http : //jsfiddle.net/Gq4p9/4/
在 Chrome 29、Firefox 23 和 IE11 上测试。
我希望你们中的某个人能找出为什么这个脚本不会阻止默认处理。
正如您在评论中提到的,如果您将jQuery 对象作为选择器传递,它会起作用
$(document).on ("click", $("a"), function (e) { ...
Run Code Online (Sandbox Code Playgroud)
尽管API 说selector
预计是字符串类型。
此外,您始终可以只使用普通的 javascript 单击事件侦听器。
link.addEventListener ("click", function (e) {
if (e.which === 2)
e.preventDefault();
})
Run Code Online (Sandbox Code Playgroud)
这是一把小提琴
归档时间: |
|
查看次数: |
5664 次 |
最近记录: |