模拟操作trigger()

1.常用模拟

我们平时的click都是通过用户点击才能触发click事件,但是有时候,我们想通过模拟用户操作,来达到点击的效果。比如在用户进入页面后,就会触发click事件,而不需要用户主动去单击。

可以采用trigger()方法来完成模拟操作。

$('#sub').trigger('click');

当页面装载完毕后,就会立刻输出想要的效果。

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

也可以直接用简化写法click(),来达到同样的效果。

2.触发自定义事件

trigger()方法不仅能触发浏览器支持的具有相同名称的事件,也可以触发自定义名称的事件。

比如为元素绑定一个“mClick”的事件

$('#sub').bind("myClick",function(){

$('#test').append("我的自定义事件");

});

$('#sub').trigger("myClick");

3.传递数据

trigger(type,[message]);

第一个参数:触发事件的类型

第二个参数:传递给事件处理函数的附加数据,以数组的形式传递

$('#sub').bind('myclick',function(event,message1,message2){

$('#test‘).append(message1+message2);

});

$('#sub’).trigger('myclick',["hello","world"]);

4.执行默认操作

trigger()方法触发事件后,会执行浏览器默认行为。

比如$('input').trigger('focus');

以上代码不仅会触发input元素绑定的focus事件,还会使得input元素本身得到焦点(这是浏览器的默认行为)

如果只想触发绑定的focus事件,而不想执行浏览器的默认行为,可以使用另一种类似的方法

triggerHandler()方法。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容