Javascript 使用DIV作为链接触发器在新选项卡快捷方式上重定向
我有一个页面(小部件)的部分,我想将其用作链接(单击任意位置将转到另一个页面): 除非您在Javascript 使用DIV作为链接触发器在新选项卡快捷方式上重定向,javascript,html,keyboard-shortcuts,Javascript,Html,Keyboard Shortcuts,我有一个页面(小部件)的部分,我想将其用作链接(单击任意位置将转到另一个页面): 除非您在上按住Ctrl键并单击或Cmd键并单击打开新选项卡中的链接,否则此操作正常。由于您没有显式地执行右键单击,因此浏览器将其注册为单击,因此该函数仍将执行 我想我可以检查一下在点击事件中是否按下了任何修改键,但是我觉得这有点麻烦。有一个很好的JS解决方案吗?您可以这样做(单击处理程序的jQuery): 您可以在单击处理程序中处理您想要的任何内容,如上图所示为什么要使事情复杂化?只需使用锚点而不是那个div.我知
上按住Ctrl键并单击或Cmd键并单击
打开新选项卡中的链接,否则此操作正常。由于您没有显式地执行右键单击,因此浏览器将其注册为单击,因此该函数仍将执行
我想我可以检查一下在点击事件中是否按下了任何修改键,但是我觉得这有点麻烦。有一个很好的JS解决方案吗?您可以这样做(单击处理程序的jQuery):
您可以在单击处理程序中处理您想要的任何内容,如上图所示为什么要使事情复杂化?只需使用锚点而不是那个div.我知道,将那个锚点更改为span。。。它甚至在语义上更有意义,因为它只有文本(我认为样式不同),这只是一个婴儿样本。真正的html代码片段有很多div…谢谢你的建议,但是根据我的问题,我不希望依赖于检查修改键
<!-- just an example. real application is quite a bit more complex -->
<div data-href="/page">
<h1><a href="/page">Title of sample content</a></h1>
<p>
some content here with an image
<img src="image.jpg">
</p>
<div>
and many more elements in here
<div>
with nested structure with semantic meaning
</div>
</div>
</div>
$('div').click(function() {
window.location=$(this).data("href");
});
$(selector).click(function(e) {
if(e.shiftKey) {
//Shift-Click
}
if(e.ctrlKey) {
//Ctrl+Click
}
if(e.altKey) {
//Alt+Click
}
});