为什么我不能在jQuery中单击()链接?

Ale*_*tie 3 javascript jquery onclick mouseclick-event

我在jQuery中遇到了一个好奇心:如果我调用.click()一个链接,就会调用click事件处理程序,但实际上没有跟踪链接(好像它是在浏览器中单击的那样):

<a id="link" href="http://www.google.com>Link</a>

$("#link").click() // won't take me to Google
Run Code Online (Sandbox Code Playgroud)

但是在普通的Javascript中,一切都按预期运行:

document.getElementById("link").click() // *will* take me to Google
Run Code Online (Sandbox Code Playgroud)

这显然是故意的行为 - 但我正在努力解决为什么这样click实施 - 链接的特殊例外?

在这里小提琴:http://jsfiddle.net/9a6sp/

澄清:我不是问如何点击JS中的链接,而是为什么jQuery中的默认行为实际上是在调用时没有点击链接.click()

zzz*_*Bov 8

domelement.click()跨浏览器不支持重定向.如果您需要重定向到链接中的位置,您可以使用:

window.location = $('#link').prop('href');
Run Code Online (Sandbox Code Playgroud)

  • 事实上,Chrome中的本地锚元素甚至不存在`click()`方法,所以它不支持任何东西. (2认同)