jquery中trigger()方法自动触发事件(摘抄:加强记忆)
一、常用事件
在页面加载完成时,自动触发input的点击事件;在移动端可以实现自动弹出输入法,获得焦点;
$('input').trigger('click').focus();
二、自定义事件
$('#btn').on('myClick',function(){ alert('自定义事件'); }) $('#btn').trigger(‘myClick’);
三、传递参数
trigger(type,[,data]);方法有两个参数:第一个参数type是要触发的事件类型;第二个参数是要传递给事件处理函数的附加数据,以数组形式;通常可以通过判断第一个参数来区别是代码触发还是用户触发;
$('#btn).bind('myClick',function(event,msg1,msg2){ $('#test').append(msg1+msg2); }) $('#btn').trigger('myClick',['自定义的','事件']);
四、执行默认操作
trigger()方法触发事件后,会执行浏览器默认操作;例如:
$('input').trigger('focus');
以上代码不仅会触发为input元素的绑定的focus事件,也会使input元素本身获得焦点(浏览器默认操作);
如果只是想触发绑定的focus事件,而不想执行浏览器默认的操作,可以使用jquery中另一个方法triggerHander()
$('input').trigger('focus');
额外小知识点:
mouseover 和 mousemove区别:当鼠标在指定的元素上移动,就是mousemove;当鼠标指针位于元素上方时,就是mouseover