gpt4 book ai didi

javascript - 防止在 Ctrl+单击 location.href 时打开新选项卡

转载 作者:行者123 更新时间:2023-12-03 00:08:22 25 4
gpt4 key购买 nike

我有一个带有以下代码的 Javascript 函数。

function NodeClickActions(sender, eventArgs) {
event.preventDefault();
//Get whether user clicked CTRL key or not
var bCtrlPressed = eventArgs.get_browserEvent().ctrlKey;
//URL of the actions page
var URL = "../Actions.aspx";
//If CTRL key was pressed
if (bCtrlPressed) {
parent.MainPage.location.href = URL + "?PackageId=00000000-0000-0000-0000-000000000000&All=" + bCtrlPressed;
}
else {
parent.MainPage.location.href = URL;
}
}

我需要停止在新选项卡中打开页面。请注意,event.PreventDefault();不幸的是,这不会成功。

我知道这是由于浏览器行为而不是代码造成的。欢迎任何建议。问候!

最佳答案

这是最简单的方法,阻止点击 url 比阻止按下 CTRL/CMD 按钮更聪明,因为 CTRL/CMD + CLICK 等功能是浏览器功能,不能被覆盖(或者至少我没有)取得成功)...

$(document).ready(function(){

$("a").click(function(e){
e.preventDefault();
window.location.href = $(this).attr("href");
});

});

取决于您将使用的情况,您需要应用类似的表单提交...因为这也受到此浏览器功能的影响

重要提示:使用 Command + Click 的 OS X 用户,永远不要忘记这一点

添加:因为您想在绑定(bind)“单击”下禁用在新选项卡/窗口中打开功能,只需对上下文菜单执行 PreventDefaults(鼠标右键)

$("a").contextmenu(function(e){
e.preventDefault();
});

关于javascript - 防止在 Ctrl+单击 location.href 时打开新选项卡,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54862732/

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