有沒有一種方法以編程方式在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