alert需要执行的条件:必须有用户点击才可以。如果不同用户交互是否能在某一时刻自动触发该事件呢? 正常来说是不可以的,但是jQuery解决了这个问题,提供了一个trigger方法来触发浏览器事件。
( ╯□╰ )小白资质愚钝,麻烦举个例子。
拿原生JS和JQ代码做比较来说明这个问题:
var Div = document.getElementsByTagName("div")[0]; Div.addEventListener("click",function(){ alert("触发click事件"); },false);
使用原生JS添加的这个事件对象,是无法通过其他方式触发的。
假如,我们希望通过其他方式来触发这个事件,可以使用JQ代码来实现:
$("div").on("click",function(){ alert("触发click事件"); }); function dome(){ $("div").trigger("click"); } dome();
这里使用JQ添加了一个事件,然后使用trigger方法,通过函数dome又触发了这个事件,注意:事件触发的时候,元素div并没有被点击,说明这个事件是通过dome函数调用来触发的
比如input的select事件,只有选中后才能触发。通过trigger可以将这个select事件绑定到button上,只需要点击button就会触发input的select。
$("button").click(function(){
$("input").trigger("select");
});