js 如何阻止 “Ctrl”+鼠标左键 点击A标签, 在新窗口打开

js如何阻止“Ctrl”+鼠标左键点击A标签,在新窗口打开。注意是“Ctrl”不是“Shift"求大神指导、这是我写的代码。Shift可以阻止,但是Ctrl+鼠标左键,来... js 如何阻止 “Ctrl”+鼠标左键 点击A标签, 在新窗口打开。注意是“Ctrl”不是“Shift"
求大神指导、
这是我写的代码。Shift可以阻止,但是Ctrl+ 鼠标左键,来事件都没进入
展开
 我来答
mikemelon2012
推荐于2016-07-09 · TA获得超过3633个赞
知道大有可为答主
回答量:938
采纳率:87%
帮助的人:387万
展开全部

直接在A标签的onclick里调用如下函数就可以了。应该不用解释吧,不过没考虑IE6-8,因为这时鼠标左键的event.button不是0(而是1貌似),这部分兼容浏览器工作你自己加上吧,原理就是这样。

<script>
function doMything(){
    if(event.ctrlKey && event.button==0 ){
        event.preventDefault();
        //console.log(event.keyCode+"***"+event.button+"***"+event.ctrlKey);
    }
}
</script>
追问

按着Ctrl 鼠标左键,点击A标签 事件都不会进,这是我的js

追答
我那段代码可以的,我试过,不进事件可能是不是浏览器兼容性的问题。你换几个浏览器试试
百度网友5e99258cf
2015-01-20 · TA获得超过1687个赞
知道大有可为答主
回答量:1299
采纳率:71%
帮助的人:694万
展开全部
试一下stopPropagation这个方法吧~具体用法百度一下~
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式