2012-02-17 150 views
2

我知道如何創建一個onclick事件處理程序來運行腳本。我想知道是否有可能在html文檔中有兩個超鏈接,然後單擊一個會觸發另一個(我假設通過每個onclick事件處理程序和DOM ID等)當點擊另一個鏈接時使用javascript觸發鏈接

謝謝。

+0

,我認爲這將幫助你: - HTTPS://developer.mozilla .org/samples/domref/dispatchEvent.html – Pranav 2012-02-17 03:42:49

回答

0

如果你只是想在頁面導航到第二個環節的href

targetLink.onclick = function() { document.location.href = sourceLink.href; }; 

否則,您可以發送一個單擊事件,如Pranav提到:

targetLink.onclick = function() { 
    var event = document.createEvent("MouseEvents"); 
    event.initMouseEvent("click"); 
    sourceLink.dispatchEvent(event); 
}; 

詳見dispatchEvent

+0

我不知道「位置」是一個對象。謝謝!謝謝@Pranav。 – William 2012-02-17 05:05:47

0

我認爲click()是IE特定的。嘗試在第一個超鏈接的點擊:

eval(document.getElementById('mylink2').href); 

或者你可以嘗試:

document.getElementById(id).attachEvent('onclick',name_of_function); //(for IE) 
document.getElementById(id).addEventListener('click',name_of_function,false); //(for others) 

更多地瞭解活動check this

+0

你爲什麼在那裏使用'eval'?爲什麼不'document.getElementById('mylink2')。getAttribute('href')'或類似的東西? – fncomp 2012-02-17 04:51:12

+0

@Josh我認爲'eval'是針對包含'javascript:'URI方案標識符後跟一些javascript代碼的href屬性的。在這種情況下,'javascript:'部分將被解析爲標籤;代碼應該按照預期進行評估。 – 2012-02-17 05:11:32