Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/74.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 如何在锚定标记(<;a>;)中同时执行onClick和href_Javascript_Html_Onclick_Anchor - Fatal编程技术网

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'));
});