Javascript 如何在锚定标记(<;a>;)中同时执行onClick和href
我有一个链接如下:Javascript 如何在锚定标记(<;a>;)中同时执行onClick和href,javascript,html,onclick,anchor,Javascript,Html,Onclick,Anchor,我有一个链接如下: <a href="www.google.com" onClick="someFunction()">Click me</a> 单击链接时,它正在执行JavaScript函数,但它不会将我带到href链接 我怎样才能做到这一点呢?你可以通过几种方式做到这一点 <div onclick = "function();"><a href = "link.com&quo
<a href="www.google.com" onClick="someFunction()">Click me</a>
单击链接时,它正在执行JavaScript函数,但它不会将我带到href链接
我怎样才能做到这一点呢?你可以通过几种方式做到这一点
<div onclick = "function();"><a href = "link.com">link here</a> </div>
您正在将onclick放在标记的内部,它只用于文本。将其放置在第一个位置,以将其用作标记的属性
在函数中,如果希望href也执行,则返回true。我使用了jQuery,希望它仍然可以理解:
<a href="www.google.com" onClick=someFunction()>Click me </a>
它正在执行JavaScript函数,但它不会将我带到href链接
因此,一种方法是在函数之后添加重定向:
function someFunction()
{
... Your code ...
window.location.href($(this).attr('href')); // <----- HERE
}
function someFunction()
{
…你的代码。。。
window.location.href($(this.attr('href'));//我认为最简单的方法是使函数返回true,这样在函数完成后,锚定标记的行为将与正常情况相同。如果要使用新窗口,也可以使用target属性:
函数myFunction(){
警惕(“你好”);
返回true;
}
当点击事件附加到锚定标记上时,浏览器会以“特殊”方式处理它
.click不应与“a”标记一起使用,因为浏览器不支持使用JavaScript进行“假单击”
我的意思是,你不能用JavaScript“点击”一个元素。使用“a”标记你可以触发它的onClick事件,但是链接不会改变颜色(对于访问的链接颜色,大多数浏览器的默认颜色是紫色)
因此,让“click”事件与“a”标记一起工作是没有意义的,因为转到href属性的行为不是onClick事件的一部分,而是在浏览器中硬编码的
但您可以对onclick处理程序进行一些定制,以便引用href链接
让我们举个例子:
$('a').click(function () {
window.open($(this).attr('href'));
});
下面是使用jQuery演示相同内容的示例
有关更多详细信息,请参阅。请共享您的someFunction(),并重新编辑您的问题(单击位于标记之间,则应为属性)您共享的代码中没有任何内容会阻止链接被遵循。will window.location.href在新窗口或新选项卡中打开链接..我希望它在新选项卡中打开。它在新窗口sumtyms和新选项卡sumtyms中打开我同意您的看法,这样更好,但询问者不想共享他的功能,因此不可能要确定他是否使用了return false:/+1因为函数返回的内容并不重要,如果需要,您可以将它封装在一个新函数中并返回true:)无论如何,我仍然认为这是实现他要求的最好方法。myFunction
返回的内容根本不重要。重要的是onclick
返回。它返回未定义的
(因为它没有return语句),所以它不会阻止链接被跟踪。
function someFunction()
{
... Your code ...
window.open($(this).attr('href'), '_blank'); // <----- HERE
}
$('a').click(function () {
window.open($(this).attr('href'));
});