这是我的简单代码
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>
当我正常点击时,这种方法非常好,但是如果我右键单击它并在新标签页中打开它就不会执行。
答案 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