我遇到了一个问题,我无法在点击事件处理程序中触发链接上的点击事件。请考虑这个例子:
<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>
当用户点击A链接时,我希望他们在地址栏中看到#b,但事实并非如此。如果我删除它的评论它。为什么我不能在另一个事件中触发事件?是否真的需要setTimeout?
答案 0 :(得分:2)
您必须防止默认行为:
$('#a').click(function (e) {
e.preventDefault();
$('#b')[0].click(); //call click method of DOM node
});
答案 1 :(得分:2)