我的链接如下:
<a href="www.google.com" onClick="someFunction()">Click me</a>
单击链接时,它正在执行JavaScript函数,但没有将我带到href链接。
任何想法如何实现同样的目标?
答案 0 :(得分:9)
我认为最简单的方法是使函数返回true,这样在函数完成后,anchor标记的行为就像通常那样。这样,如果要使用新窗口,也可以使用target-attribute:
function myFunction() {
alert("hello");
return true;
}
<a href='http://www.google.com' onclick="myFunction();" target="google">Click me</a>
答案 1 :(得分:3)
我使用了jQuery,我希望它仍然可以理解:
<a href="www.google.com" onClick=someFunction()>Click me </a>
执行js函数但没有带我到href链接。
所以一种方法是在你的函数之后添加重定向:
function someFunction()
{
... your code ...
window.location.href( $(this).attr('href') ); // <----- HERE
}
评论后更新:
function someFunction()
{
... your code ...
window.open( $(this).attr('href') , '_blank' ); // <----- HERE
}
答案 2 :(得分:1)
你可以通过几种方式做到这一点,
<div onclick = "function();"><a href = "link.com">link here</a> </div>
或者你可以使用onclick on a本身
<a href = "link.com" onclick = "function();"> link here</a>
您将onclick放在仅用于文本的标记内,将其放在第一个用作标记属性的标记中。
编辑:正如我上面的用户发布的那样,如果你想让href也执行,函数会返回true。
答案 3 :(得分:-2)
当在锚标记上附加点击事件时,它将由浏览器以“特殊”方式处理。
.click不会与'a'标签一起使用,因为浏览器不支持使用javascript进行“假点击”。
我的意思是,你不能用javascript“点击”一个元素。使用'a'标签,您可以触发其onClick事件,但链接不会更改颜色(对于访问过的链接颜色,在大多数浏览器中默认为紫色)。
因此,使用“a”标记使“click”事件无效是没有意义的,因为转到href属性的行为不是onClick事件的一部分,而是在浏览器中硬编码。
但你可以对onclick处理程序进行一些自定义,以便引用href链接。
让我们举一个例子:
$('a').click(function () {
window.open($(this).attr('href'));
});
以下是http://jsfiddle.net/4Qku8/使用jquery演示相同内容。
有关详细信息,请参阅this link