如何在一组元素上触发事件?

时间:2016-02-18 19:58:16

标签: javascript jquery

我有一组元素的听众:

$('a.menu__link').on('click',function() {alert('function was triggered');});

其中一个要素是:

<a class="menu__link menu__link--submenu Main" id="Events" href="#">Events</a>

我想手动触发元素上的点击。使用Chrome开发工具,事件处理程序为:

a#Events.menu__link.menu__link--submenu.Main

但是,以下代码不会触发侦听器:

$('a#Events.menu__link.menu__link--submenu.Main').trigger('click');

我已经尝试了我能想到的每一个变体,但我找不到触发警报功能的正确参考。

我做错了什么?

3 个答案:

答案 0 :(得分:0)

您可以使用click代替此trigger来触发点击:

 $('#div').click();

详细了解点击here

这是JsFiddle

答案 1 :(得分:0)

我将触发器包含在$(document).ready(function())中并修复了它。

感谢Blazemonger暗示这是一个时间问题。

<script>$(document).ready(function() {
$('#Events').trigger('click');
$('#PastSeminars').addClass('menu__link--current');
});</script></body></html>

上课?仅仅因为它是页面上的最后一件事,如果有疑问,请使用document.ready。

答案 2 :(得分:-1)

Chrome会阻止Click事件以编程方式触发。我想出了一个新的解决方案,例如只需在需要触发它的地方调用所需的功能。

您可以在此处详细了解:https://teamtreehouse.com/community/why-does-my-onclick-event-not-fire-on-chrome