justcode.ikeepstudying.com
jQuery: 事件触发器trigger, 事件模型, 默认行为执行顺序, Native click won't be triggered by jQuery - Just Code
一般来讲,直接 trigger 一个 a 标签的 click 事件是不被浏览器允许的,正常情况下都是由用户的 click 事件来触发一个「点击动作」,在这个「动作」中,我们可以调用触发其他的 click 事件,就好像用户点在了其他的标签上。按照长期使用 jQuery 的思路,一般就会直接使用下面的方式来触发: $('a').click(); 或者是: $('a').trigger('click'); 很遗憾的是,这样是不行的,jQuery 并不会为 a 标签提供 native click 事件的触发,而我们想要做这件事情就需要用原生的 DOM element 来做: $('a').get(0).click(); 至于为什么?我找到了一个说法,是 Learn jQuery 上的一篇文章:Triggering Event Handlers。它说到: The .trigger() function cannot be used to mimic native browser events, such as clicking on a file input box or an anchor tag. This is because, there is no event handler attached using jQuery’s event system that corresponds …