jQuery 多个事件绑定多个函数
1、可以采用事件映射
以bind()为例
语法:
$(selector).bind({event1:function1,event2:function2,...})
具体示例:
1 $("button").bind({ 2 mouseover:function(){$("p").css("background","red");}, 3 click:function(){$("p").css("background","yellow");}, 4 dblclick:function(){$("p").css("background","blue");} 5 7 })
2、使用e.type,判断选择一个事件执行
e.type返回的是时间的类型,例如onclick,onmousedown.onmousemove等等。主要用于对同一对象绑定多个事件时,判断事件类型用。
(备注:不确定是否对所有事件有用,需要自行测试,上述仅为学习过程中的记录,仅供参考。)
具体示例:
1 $("button").bind("mouseover click dblclick",function(e){ 2 3 // 注意多个事件用空格隔开即可 4 5 ver jQtype=e.type; 6 7 if(jQtype=="mouseover") 8 9 {//要执行的代码} 10 11 else if(jQtype=="click") 12 13 {//要执行的代码} 14 15 else 16 17 {//要执行的代码} 18 19 //不同的事件对应不同的 e.type 的值,就可以判断执行哪个事件。 20 21 })
根据最新的jQuery API文档指出 bind delegate live等方法已被弃用,建议用on()方法代替。附上jq官网API文档链接:
https://api.jquery.com/category/events/event-handler-attachment/