Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/368.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
右键单击新选项卡时Javascript未执行_Javascript_Jquery_Html - Fatal编程技术网

右键单击新选项卡时Javascript未执行

右键单击新选项卡时Javascript未执行,javascript,jquery,html,Javascript,Jquery,Html,这是我的简单代码 function goto() { /* Some code to be executed */ if (a == "1") location.href = "http://www.google.com"; else location.href = "http://www.example.com"; } 这是html <a href="#" onclick=

这是我的简单代码

 function goto() {
        /* Some code to be executed */
        if (a == "1")
              location.href = "http://www.google.com";
        else
              location.href = "http://www.example.com";
    }
这是html

<a href="#" onclick="goto();">Hello</a>

当我正常单击时,它工作得非常好,但如果我右键单击它并在新选项卡中打开它,它将不会执行。

尝试以下操作:

<a href="javascript:goto()">Hello</a>

 function goto() {
        /* Some code to be executed */
        window.open("http://www.google.com");
    }
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title></title>
    <script type="text/javascript" src="jquery.min.js"></script>
    <script>
        function goto() {
            window.location = "http://www.google.com";
        }
        document.addEventListener('DOMContentLoaded', function () {
            document.getElementsByTagName('a')[0].addEventListener('contextmenu', function (ev) {
                ev.stopPropagation();
                ev.preventDefault();
                goto();
            });
            document.getElementsByTagName('a')[0].addEventListener('click', function (ev) {
                goto();
            });
        }, false)

    </script>
</head>
<body>
<a href="#">Hello</a>
</body>
</html>

函数goto(){
/*一些要执行的代码*/
窗口打开(“http://www.google.com");
}
如果要在新选项卡中打开鼠标右键单击

<a href="http://www.google.com">Hello</a>

点击鼠标右键并在新选项卡中打开

你可以试试这个:

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title></title>
    <script type="text/javascript" src="jquery.min.js"></script>
    <script>
        function goto() {
            window.location = "http://www.google.com";
        }
        document.addEventListener('DOMContentLoaded', function () {
            document.getElementsByTagName('a')[0].addEventListener('contextmenu', function (ev) {
                ev.stopPropagation();
                ev.preventDefault();
                goto();
            });
            document.getElementsByTagName('a')[0].addEventListener('click', function (ev) {
                goto();
            });
        }, false)

    </script>
</head>
<body>
<a href="#">Hello</a>
</body>
</html>

函数goto(){
window.location=”http://www.google.com";
}
document.addEventListener('DOMContentLoaded',函数(){
document.getElementsByTagName('a')[0]。addEventListener('contextmenu',函数(ev){
ev.stopPropagation();
ev.preventDefault();
goto();
});
document.getElementsByTagName('a')[0]。addEventListener('click',函数(ev){
goto();
});
},错)
试试这个:

<a href="javascript:goto()">Hello</a>

 function goto() {
        /* Some code to be executed */
        window.open("http://www.google.com");
    }
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title></title>
    <script type="text/javascript" src="jquery.min.js"></script>
    <script>
        function goto() {
            window.location = "http://www.google.com";
        }
        document.addEventListener('DOMContentLoaded', function () {
            document.getElementsByTagName('a')[0].addEventListener('contextmenu', function (ev) {
                ev.stopPropagation();
                ev.preventDefault();
                goto();
            });
            document.getElementsByTagName('a')[0].addEventListener('click', function (ev) {
                goto();
            });
        }, false)

    </script>
</head>
<body>
<a href="#">Hello</a>
</body>
</html>

函数goto(){
/*一些要执行的代码*/
窗口打开(“http://www.google.com");
}
如果要在新选项卡中打开鼠标右键单击

<a href="http://www.google.com">Hello</a>

点击鼠标右键并在新选项卡中打开

你可以试试这个:

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title></title>
    <script type="text/javascript" src="jquery.min.js"></script>
    <script>
        function goto() {
            window.location = "http://www.google.com";
        }
        document.addEventListener('DOMContentLoaded', function () {
            document.getElementsByTagName('a')[0].addEventListener('contextmenu', function (ev) {
                ev.stopPropagation();
                ev.preventDefault();
                goto();
            });
            document.getElementsByTagName('a')[0].addEventListener('click', function (ev) {
                goto();
            });
        }, false)

    </script>
</head>
<body>
<a href="#">Hello</a>
</body>
</html>

函数goto(){
window.location=”http://www.google.com";
}
document.addEventListener('DOMContentLoaded',函数(){
document.getElementsByTagName('a')[0]。addEventListener('contextmenu',函数(ev){
ev.stopPropagation();
ev.preventDefault();
goto();
});
document.getElementsByTagName('a')[0]。addEventListener('click',函数(ev){
goto();
});
},错)

尝试以下方法:

<a href="#" id="myId">Hello</a>

<script>
document.getElementById('myId').addEventListener('contextmenu', function(ev){
    gotoFunc(ev);
});

function gotoFunc(ev){
    //run this when right clicked over #myId element
}
</script>
 function changeDest(elem) {
        /* Some code to be executed */
        if (a == "1")
              elem.href = "http://www.google.com";
        else
              elem.href = "http://www.example.com";
    }

 <a href="#" onmousedown="changeDest(this);">Hello</a>

document.getElementById('myId')。addEventListener('contextmenu',function(ev){
戈托芬奇(ev);
});
功能gotoFunc(ev){
//右键单击#myId元素时运行此操作
}

尝试以下方法:

<a href="#" id="myId">Hello</a>

<script>
document.getElementById('myId').addEventListener('contextmenu', function(ev){
    gotoFunc(ev);
});

function gotoFunc(ev){
    //run this when right clicked over #myId element
}
</script>
 function changeDest(elem) {
        /* Some code to be executed */
        if (a == "1")
              elem.href = "http://www.google.com";
        else
              elem.href = "http://www.example.com";
    }

 <a href="#" onmousedown="changeDest(this);">Hello</a>

document.getElementById('myId')。addEventListener('contextmenu',function(ev){
戈托芬奇(ev);
});
功能gotoFunc(ev){
//右键单击#myId元素时运行此操作
}

您可以使用

这应该能奏效。i、 e将url添加到锚定标记的href中

您可以使用
这应该能奏效。i、 e将url添加到锚定标记的href

如下操作:

<a href="#" id="myId">Hello</a>

<script>
document.getElementById('myId').addEventListener('contextmenu', function(ev){
    gotoFunc(ev);
});

function gotoFunc(ev){
    //run this when right clicked over #myId element
}
</script>
 function changeDest(elem) {
        /* Some code to be executed */
        if (a == "1")
              elem.href = "http://www.google.com";
        else
              elem.href = "http://www.example.com";
    }

 <a href="#" onmousedown="changeDest(this);">Hello</a>
function changeDest(元素){
/*一些要执行的代码*/
如果(a=“1”)
elem.href=”http://www.google.com";
其他的
elem.href=”http://www.example.com";
}
这样做:

<a href="#" id="myId">Hello</a>

<script>
document.getElementById('myId').addEventListener('contextmenu', function(ev){
    gotoFunc(ev);
});

function gotoFunc(ev){
    //run this when right clicked over #myId element
}
</script>
 function changeDest(elem) {
        /* Some code to be executed */
        if (a == "1")
              elem.href = "http://www.google.com";
        else
              elem.href = "http://www.example.com";
    }

 <a href="#" onmousedown="changeDest(this);">Hello</a>
function changeDest(元素){
/*一些要执行的代码*/
如果(a=“1”)
elem.href=”http://www.google.com";
其他的
elem.href=”http://www.example.com";
}

没错。在新选项卡中打开不是一个
单击
事件。“单击”事件仅在鼠标左键单击元素时触发:=)右键单击不会触发单击事件:)正确。在新选项卡中打开不是一个
单击事件。“单击”事件仅在鼠标左键单击元素时触发:=)右键单击不会触发单击事件:)这对我来说在鼠标中键单击时起作用,但不能在新选项卡中打开。这将不起作用,因为我正在javascript函数中有条件地设置重定向url。无法在href中设置。更新了我的问题。你不要只更改javascript函数中锚定标记的url。它不总是一个新选项卡或新窗口。它可以是右键单击或左键单击,具体取决于用户的操作。此操作为我做了鼠标中键,但不能在新选项卡中打开。这不起作用,因为我正在javascript函数中有条件地设置重定向url。无法在href中设置。更新了我的问题。不要只更改javascript函数中锚定标记的url。这并不总是一个新选项卡或新窗口。它可以是右键单击或左键单击,具体取决于用户的操作