2012-02-17 165 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