6

preventDefault()用于防止锚按钮的默认行为,但我想让此按钮在使用键盘ctrl按钮单击时执行默认行为,

JS代码

$('a').click(function(e){
    e.preventDefault();
});

HTML 代码

<a href="http://google.com">Go to the best search engine</a>

这里是操场:http: //jsfiddle.net/sKDuA/

4

1 回答 1

14
$('a').click(function(e) {
    if (!e.ctrlKey) {
        e.preventDefault();
    }
});

其他交互测试选项:

  • e.altKey- 检查是否Alt被按下
  • e.shiftKey- 检查是否Shift被按下
  • e.button- 区分鼠标中键的左右点击
  • e.which- 同上,但也适用于键盘
  • 完整的文档在这里

还有一点,当您询问文档时,似乎真的很感兴趣;)

可以在 jsfiddle 中调试 - 只需debugger输入您的 js 代码并照常运行。您的浏览器(我使用 Chrome)将在调试行停止,您可以检查e手表中的对象:

在此处输入图像描述

于 2013-07-25T11:12:16.267 回答