gpt4 book ai didi

javascript - 在没有更改 href 详细信息的链接上单击(Ctrl + 单击)时停止打开新选项卡

转载 作者:行者123 更新时间:2023-11-27 23:38:08 24 4
gpt4 key购买 nike

我想在使用 javascript ( jQuery ) 单击链接时停止打开新选项卡。我找到了这段代码

 <html>
<head>
<script type='text/javascript' src='https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js'></script>
</head>
<body>

<h3>CTRL+CLICK is disabled </h3>
<a href="https://www.google.co.in">Google</a>
<a href="https://www.yahoo.com">Yahoo</a>

<script>
$(document).ready(function()
{
$('a').each(function() {
var href= $(this).attr('href');
$(this).attr('href','javascript:void(0);');
$(this).attr('jshref',href);
});
$('a').bind('click', function(e)
{
e.stopImmediatePropagation();
e.preventDefault();
e.stopPropagation();
var href= $(this).attr('jshref');
if ( !e.metaKey && e.ctrlKey )
e.metaKey = e.ctrlKey;
if(!e.metaKey)
{
location.href= href;
}
return false;
})

});
</script>

</body>
</html>

此代码将 href 详细信息更改为 jshref。但就我而言,我无法更改 href 详细信息。我该怎么办?

最佳答案

你几乎做到了,改变这个

$('a').bind('click', function(e) 
{
e.stopImmediatePropagation();
e.preventDefault();
e.stopPropagation();
var href= $(this).attr('jshref');
if ( !e.metaKey && e.ctrlKey )
e.metaKey = e.ctrlKey;
if(!e.metaKey)
{
location.href= href;
}
return false;
});

到此

$('a').bind('click', function(e) 
{
e.preventDefault();
var href= $(this).attr('jshref');
if ( !e.metaKey && e.ctrlKey )
e.metaKey = e.ctrlKey;
else
location.href= href;
}

这里是jsfiddle

编辑:我更新了 jsfiddle,我刚刚添加了 e.preventDefault() 并删除了 $(this).attr('href','javascript: void(0);')

关于javascript - 在没有更改 href 详细信息的链接上单击(Ctrl + 单击)时停止打开新选项卡,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33951437/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com