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

时间:2013-10-28 11:42:48

标签: 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="goto();">Hello</a>

当我正常点击时,这种方法非常好,但是如果我右键单击它并在新标签页中打开它就不会执行。

4 个答案:

答案 0 :(得分:2)

试试这个:

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

 function goto() {
        /* Some code to be executed */
        window.open("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>

答案 1 :(得分:0)

尝试这样的事情:

<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>

答案 2 :(得分:0)

这样做:

 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>

答案 3 :(得分:-1)

您可以使用<a href="http://www.google.com" onclick="goto();">Hello</a> 这应该可以解决问题。即将url添加到锚标记的href