如何在firefox中动态单击href链接?预期的方法仅适用于IE

Max*_*axx 6 html javascript firefox jquery

http://jsfiddle.net/HVGre/1/ - 测试链接.


我的页面上有一个html链接,我需要能够动态点击.这适用于IE中的.click()函数,但在firefox中失败.我无法将链接更改为按钮,因此这不是一个选项,它必须是一个href.

<a href="javascript:alert('!');" id="myHrefLink">My HREF Link</a>

<script>
   document.getElementById("myHrefLink").click();
</script>
Run Code Online (Sandbox Code Playgroud)

在Firefox中有一个很好的解决方法吗?如果能够打开任何可能性,我就可以使用jQuery.

  1. 我不打算为链接分配一个事件处理程序,我只需要使用javascript动态点击链接(不用手动鼠标).

  2. 我无法改变原始链接的功能.它必须保持原样.


编辑:

似乎Firefox对此代码的问题是链接没有onclick事件并且通过href引用了代码,或者不是onclick(在这里的示例代码是href,在我的实际代码中是href)设置为'#',但链接以某种方式触发其他操作时单击,不要问我怎么样,这是一个奇怪的flash集成与plupload工具).

<a href="javascript:alert('This works!');">Click me dynamically</a>
Run Code Online (Sandbox Code Playgroud)

VS

<a href="#" onclick="alert('This works!');">Click me dynamically</a>
Run Code Online (Sandbox Code Playgroud)

第二个示例是可靠的,并且在触发click()函数时可以在所有浏览器中使用,但是我需要这两个中的第一个才能工作,而不会动态地或其他方式更改链接.任何聪明的想法?

Max*_*axx 2

答案是,此时你无法在firefox或chrome中动态点击链接的href部分。

<a href="javascript:alert('This works!');">This does not work dynamically.</a>
Run Code Online (Sandbox Code Playgroud)

VS

<a href="#" onclick="alert('This works!');">This works dynamically onclick.</a>
Run Code Online (Sandbox Code Playgroud)

看来 FireFox 只能在存在 onclick 属性时在 HTML 链接上触发单击事件。只要可以以某种方式更改链接(请参阅本文中的大多数评论),就有大量的解决方法,但就我最初打算做的事情而言,目前仅适用于 IE。

http://jsfiddle.net/HVGre/1/ - 在此处查看失败的结果。