繁体   English   中英

jQuery在另一个事件中触发事件

[英]jQuery triggering events within another event

我遇到了无法在点击事件处理程序中触发链接上的点击事件的问题。 请考虑以下示例:

<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真的必要吗?

您必须防止默认行为:

DEMO

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

尝试:

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

演示在这里。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM