有没有一种方法以编程方式在JavaScript调用标签的本土单击事件? .trigger('click')或.click()函数将不起作用,因为它们触发链接的onClick事件,而不是URL后面的事件。我需要以编程方式点击一个隐藏的链接,并在同一浏览器中按照该链接指向一个新的选项卡。 Window.open不会工作,因为这会导致一个弹出窗口,我试图避免这种情况。我需要这个,因为我在服务器端动态生成一个URL并通过JSON发回响应。然后,我使用生成的URL填充隐藏链接的HREF属性。如果我能得到关于如何完成的答案,我将不胜感激。HTML <a>本地Click事件
0
A
回答
1
从我所知道的,它是不可能通过javascript调用链接的本地点击功能。您可以使用.click()引用onclick,但本机点击仍然会在调用之前运行。因此,如果您想在点击链接之前修改链接,则必须点击链接两次,然后才能将链接发送给您。
2
如果您正在使用JSON响应填充HREF,为什么不将它存储在变量中,而是当您想要转到它时,window.location = yourVariable;
?
2
除非你想这对IE浏览器而已,我没有给你一个答案,但我可以告诉你的是什么问题。问题是target=_blank
。尝试下面的代码作为测试 - 注意它会带你到Google.com - 然后尝试编写“_blank”作为目标。这似乎是浏览器不允许的唯一事情。对你的问题的部分回答是fireEvent()
与IE和dispatchEvent()
一起工作的一切。如果其他人可以改进此代码,我希望能有更好的答案。
<html>
<head>
<script type="text/javascript">
window.onload = function fireElement() {
var target=document.getElementById('foobar');
if(document.dispatchEvent) { // W3C
var oEvent = document.createEvent("MouseEvents");
oEvent.initMouseEvent("click", true, true, window, 1, 1, 1, 1, 1, false, false, false, false, 0, target);
target.dispatchEvent(oEvent);
}
else if(document.fireEvent) { // IE
target.fireEvent("onclick");
}
}
</script>
</head>
<body>
<div>
<a id="foobar" target="" href="http://www.google.com"></a>
</div>
</body>
</html>
相关问题
- 1. HTML click事件使用jQuery
- 2. IE 8 - Click事件冲入<html>元素?
- 3. 事件click Handlebars
- 4. click事件
- 5. jQuery .click()事件
- 6. Click事件
- 7. Jquery .click事件
- 8. Click事件不工作加载的HTML
- 9. 使用jQuery附加HTML w/click事件
- 10. 使用.html()中断.click()和.hover()事件
- 11. click()事件jquery
- 12. RecyclerView Click事件
- 13. 的Click事件
- 14. Click事件
- 15. jQuery .click事件
- 16. D3 click事件
- 17. Click事件在Chrome
- 18. UIAlertView中Click事件
- 19. ASP.NET + ModalPopupExtender + Click事件
- 20. 处理click事件
- 21. Click事件函数
- 22. 两个click事件
- 23. JQuery:从文本框更改事件html控件取消HTML按钮的Click事件(现场活动)
- 24. click事件对iframe无效?
- 25. Click事件上的任何地方文件射击,
- 26. ng-click Vs点击事件
- 27. Jquery .click()不触发事件
- 28. VB.NET WebBrowser控件Click事件
- 29. ng-click事件与承诺
- 30. click事件触发事件错误
了window.location不会为我工作,因为我不想打开当前选项卡的链接,并替换当前页面。我需要它去一个新的标签。 – usherjer 2010-10-27 19:20:30
同意,我没有看到将URL分配给隐藏链接的地步,因此您可以单击它。提供更直接的方式来导航到新的位置。 – meagar 2010-10-27 19:20:48
@usherjer如果你想让它在新选项卡中打开,使用'window.open'。不管是在选项卡还是在新窗口中打开,都完全依赖于浏览器,因为并非所有浏览器都支持选项卡。没有办法专门指示浏览器在新选项卡中打开链接。 – meagar 2010-10-27 19:21:33