触发锚标记上的点击事件不起作用

我刚碰到这个问题

小提琴

触发锚标记上的click事件在这里不起作用。

 hello 

JS:

 $(document).ready(function() { $(".button2").trigger('click'); }); 

我的问题是,为什么触发事件在这种情况下不起作用?

你需要调用本机DOM click()方法来触发默认点击锚行为,jQuery明确地将其排除在锚点上 :

 $(document).ready(function() { $(".button2")[0].click(); }); 

-jsFiddle-

使用

 $(".button2").get(0).click(); 

get(0)将返回第一个DOM对象而不是jquery对象,并且将触发click()

更新小提琴

由于您没有绑定任何.click()事件,因此它永远不会触发它。

您需要使用.trigger(e) .click()而不是jQuery方法的.trigger(e).trigger(e) DOM click事件,这应该只适用于dom节点。 您可以通过引入索引[0]或使用jQuery的方法.get(0)

相反,试试这个:

 $(document).ready(function() { $(".button2")[0].click(); // or $(".button2").get(0).click(); }); 

如果是这种情况,那么你只能用javascript做到这一点:

 window.addEventListener('DOMContentLoaded', function(e){ document.querySelector('.button2').click(); }, false);