我发布这个,因为我在其他地方找不到相同的问题。为什么我不能用JS触发另一个锚上的默认href?
我试图触发锚点的默认动作,但在另一个锚点的点击处理程序中调用.click()或.trigger('click')。
像这样:
HTML:
<!-- I want to simulate a user clicking link2 when the user actually clicks link 1. -->
<!-- My guess is that triggering click just triggers any JS-bound click handlers. But that would defeat the point of e.preventDefault() when you usually have to call this to stop the default href being followed -->
<a id="link1" href="#">Click</a>
<a id="link2" target="_blank" href="http://google.com">Link 2</a>
JS:
$(document).ready(function(){
$('#link1').on('click', function(){
$('#link2').click();
$('#link2').trigger('click'); // Neither work
});
});
我觉得像这样的小白,但什么也没发生的点击。这是否因安全性或可访问性而被阻止?
我不想使用window.open();
小提琴:http://jsfiddle.net/0hggdkzb/
这些链接指向不同的页面吗? – 2014-12-19 06:37:26
它实际上工作。检查出http://jsfiddle.net/0hggdkzb/11/ – 2014-12-19 06:40:16
[jQuery:trigger click()不可用的重复[]](http:// stackoverflow。com/questions/5577555/jquery-trigger-click-doesnt-work) – 2014-12-19 06:40:55