如何获取JQuery.trigger('click');以启动鼠标单击

我很难理解如何使用JQuery模拟鼠标点击。有人可以告诉我我做错了什么吗?

网页:

<a id="bar" href="http://stackoverflow.com" target="_blank">Don't click me!</a>
<span id="foo">Click me!</span>

jQuery:

jQuery('#foo').on('click', function(){
    jQuery('#bar').trigger('click');
});

演示:小提琴

当我点击按钮#foo我想模拟点击#bar但是当我尝试这样做时,没有任何反应。我也尝试过,但没有成功。jQuery(document).ready(function(){...})


答案 1

您需要使用 来模拟鼠标单击实际的 DOM 元素(而不是 jQuery 对象),而不是使用 jQuery 方法。jQuery('#bar')[0].click();.trigger()

【注】DOM Level 2 不适用于 Safari 中的某些元素。您将需要使用解决方法。.click()

http://api.jquery.com/click/


答案 2

你只需要在做这样的事情之前放一个小的超时事件:.click()

setTimeout(function(){ $('#btn').click()}, 100);