jQuery之事件机制
事件绑定
简单事件绑定(绑定事件的方法不会重叠)
click 单击事件
blur 失去焦点事件
mouseenter 鼠标进入事件
mouseleave 鼠标离开事件
dclick 双击事件
change 改变事件(文本框改变,下拉列表值改变)
focus 获取焦点事件
keydown 键盘按下事件
使用方法
$(selector).click(function(){});
bind
特点:可以同时绑定多个事件,绑定事件的方法可以重叠,绑定的节点必须存在于文档中
$(selector).bind("mouseenter click",function(){});
delegate
特点:性能高,支持动态创建元素,利用父元素来为子元素绑定事件,也可以绑定多个事件,有bind所有的特性
$(selector).delegate("p","click mouseenter",function(){});
//selector一般是document
on(用的最多)
具备以上绑定方式的所有特性
$(selector).on(参数一,参数二,参数三,参数四);
//selector一般是document
参数一:绑定的事件
参数二:选中的节点
参数三:json
参数四:事件处理函数
//参数三和参数二可以不写
$(selector).on("click mouseenter","p",{"color":"red"},function());
解除绑定
简单事件绑定和bind绑定解绑——unbind()
$(selector).unbind("事件名”);
delegate绑定方式解绑——undelegate()
$(selector).undelegate("p","事件名");
//selector一般是document
on绑定方式解绑——off()
$(selector).off("参数一","参数二");
//selector一般是document
事件触发
分为触发浏览器行为和不触发浏览器行为
两者区别:第二个只执行事件,不触发事件,第一个不仅执行事件,还触发事件,比如focus,第一个会产生光标,第二个不会
简单事件触发
$(selector).click()
//触发浏览器行为
触发浏览器行为
$(selector).trigger("click");
//触发浏览器行为
不触发浏览器行为
$(selector).triggerHandle("click");
//触发浏览器行为