回答
有没有办法抑制按Ctrl +与点击Internet Explorer中没有子元素的链接 - 如果按Ctrl键被按下后,onclick
不会触发事件在所有的链接点击。看起来微软不希望你改变这个功能,因为担心你可能会混淆用户。
在发布此答案之前,我搜索了某种官方确认/解释,但不幸的是,这个限制没有在MSDN上的文档中列出,Google也没有帮助。尽管如此,它仍然是正确的,自己尝试一下:
<a href="#" onclick="alert('Hello');">Hello</a>
你会发现,一个按Ctrl +点击链接不会抛出警告框。根据pinkgothic,分配一个子元素到链接将解决这个问题。例如:
<a href="#" onclick="alert('Hello');"><span>Hello</span></a>
这工作,因为点击触发的<span>
元件首先,传播到<a>
元素之前。
是的,我已经计算好了......我将用树控件的开箱行为并将其称为一天 – sarsnake 2010-04-22 22:36:33
有趣的是,'ctrl + click'的'Hello'工作正常(至少在IE9中)。显然这只是'事件发生的起点。一个''就足以让它失去。 – pinkgothic 2012-06-02 12:12:29
@pinkgothic:这听起来很有希望,如果它也适用于旧版本的IE。 – 2012-06-02 13:59:27
jQuery event.preventDefault()方法或类似方法可以覆盖您控制的页面上的默认行为。
因为浏览器及其行为是“他们的”行为,所以改变用户浏览器的行为通常是不好的做法。
我打算在树中的节点上做。他们是supp。可点击但不打开链接。我不打算为传统链接做这件事。 – sarsnake 2010-04-22 21:02:58
添加脚本到锚并返回false
<a href='some.htm' onclick='return false;'></a>
而且它是有效的TreeView中使用的锚,因为它使树形更容易获得。
使用jQuery您可以处理CTRL +点击自己的功能和返回false,例如
$("a").click(function(event){
if(event.metaKey || event.ctrlKey){
//handle over here
return false;
}
});
这个作品在所有浏览器包括Mac
有同样的问题,因为运算和解决它通过赋予锚点href属性一个'#'和一个附加的data-href属性以及相应的链接位置。 你需要一个点击处理程序来跟随链接的缺点,也右键单击“在新窗口中打开”不会使用这种方法。
eg: In AnchorTag, Use href and data-ref as:
<a id="logout" href="#" data-href="${yourPath}">
And in javascript, use
$("#logout").click(function(e) {
if(e.ctrlKey)
e.preventDefault();
window.location = $(e.target).attr("data-href");
});
将链接文本包裹在范围内。像这样:
<a href="test.html"><span>click here!</span></a>
- 1. 如何在超链接点击打开新的IE窗口
- 2. 如何打开一个新窗口点击按钮
- 3. JApplet打开新窗口,当点击jButton3
- 4. IE 8打开一个全屏窗口
- 5. 打开一个新窗口
- 6. 如何打开每个点击新窗口
- 7. QT:如何打开一个新窗口
- 8. 点击按钮时应该打开一个新窗口?
- 9. 点击Kendo Grid行并打开一个新的Grid窗口
- 10. 打开一个新的窗口点击子菜单项
- 11. JavaScript:强制IE打开新窗口而不是窗口?
- 12. Jquery:点击按钮时打开一个新的HTML窗口
- 13. 打开新窗口时IE 6和7挂起
- 14. WebBrowser控件打开一个新窗口
- 15. 在行上点击新窗口中打开div点击
- 16. 通过javascript打开一个新窗口
- 17. 想要一个对话窗口打开一次IconFont被点击
- 18. 打开类型在Eclipse(Ctrl + Shift + T)从每一个窗口
- 19. 当点击一个图片框时打开一个新窗体
- 20. Ajax.BeginForm OnSuccess在IE和Firefox中打开一个新窗口
- 21. `start`程序打开一个新窗口
- 22. 用pygame打开一个新窗口
- 23. IE为链接打开一个新窗口,FF没有
- 24. 如何打开一个确认对话窗口通过点击一个botton
- 25. 如何在extjs中点击一个按钮后打开一个窗口
- 26. 如何关闭一个窗口,当你点击一个按钮打开另一个窗口
- 27. 用鼠标点击打开一个窗口(aspx页面)+ javascript
- 28. phpmyadmin如何在Firefox和IE中打开一个小窗口?
- 29. 无法打开从更新面板里面linkbutton点击一个新的窗口
- 30. 让按钮打开一个新窗口
我要说的是,您需要一个非常好的理由来重新定义用户期望以某种方式工作的操作。 – 2010-04-22 20:58:43
并不打开一个新的TAB – Midhat 2010-04-22 20:59:51
它在IE8中;这也是Firefox和Chrome的默认行为 - shift-click打开一个新窗口,ctrl-click打开一个新选项卡。其他人可能也是如此。 – GalacticCowboy 2010-04-22 21:01:29