jQuery(八)——事件处理
一、事件绑定方式
1、事件绑定的快捷方式:
缺点:绑定的事件,无法取消
$("button:eq(0)").dblclick(function(){ alert(123); });
二、使用on进行事件绑定
① 使用on进行单事件绑定
$("button:eq(0)").on("click",function(){ alert(123); }); $("button:eq(0)").off("click"); //解绑
② 使用on,同时给多个事件绑定同一函数
$("button:eq(0)").on("click dbclick mouseover",function(){ console.log(123); });
③ 使用on,同时给多个事件分别绑定不同的函数
$("button:eq(0)").on({ "click":function(){ console.log("click"); }, "mouseover":function(){ console.log("mouseover"); } });
④ 使用on,给回调函数传参,要求是对象格式。传递的参数可以在e.data中取到
$("button:eq(0)").on("click",{"name":"zhangsan","age":14},function(e){ console.log(e); console.log(e.data); console.log(e.data.name); console.log(e.data.age); // console.log(window.event); });
三、one() 绑定的事件只能执行一次
$("button:eq(0)").one("click",function(){ alert("只能执行一次"); });
四、其他事件函数
1、.trigger() 自动触发某个节点绑定的事件
接受两个参数:
① 需要触发的事件类型;
② 数组格式:传递给事件回调函数的参数
注意:
>>> 事件回调函数的第一个参数,必须是事件对象。因此,我们传递的参数从第二个开始接受;
>>> 传递的参数,可以使用arguments进行读取。
2、.triggerHandler():用法与trigger相同
【triggerHandler 和 trigger 区别】
① triggerHandler不能触发HTML事件,例如表单的submit事件;
trigger可以触发所有事件!
② triggerHandler只能触发所有匹配元素中的第一个元素的事件;
trigger将触发所有匹配元素的事件!
③ triggerHandler的返回值,是事件回调函数的返回值。如果事件回调函数没有返回值,则返回Undefined;
trigger的返回值永远是调用事件的DOM对象。符合JQuery的可链式语法!