2013-12-16 47 views
0

我遇到了一个问题,我无法触发单击事件处理程序中的链接上的单击事件。请考虑下面这个例子:jQuery在另一个事件中触发事件

<html> 
<body> 
<script src="http://code.jquery.com/jquery-1.10.1.min.js"></script> 
<script src="http://code.jquery.com/jquery-migrate-1.2.1.min.js"></script> 
<a id="a" href="#a">A</a> 
<a id="b" href="#b">B</a> 
<script> 
    $('#a').click(function() { 
     //setTimeout(function() { 
      $('#b')[0].click(); 
     //}, 100); 
    }); 
</script> 
</body> 
</html> 

当上的链接用户点击我希望他们看到#B在地址栏中,但这情况并非如此。如果我删除它的作品的评论。为什么我不能在另一个事件中触发事件? setTimeout真的有必要吗?

回答

2

你必须阻止默认行为:

DEMO

$('#a').click(function (e) { 
    e.preventDefault(); 
    $('#b')[0].click(); //call click method of DOM node 
}); 
2

尝试:

$('#a').click(function() { 
    $('#b').click(); 
    return false; 
}); 

DEMO here.

+0

我不认为这个答案OP问题 –