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"); 
//触发浏览器行为
posted @ 2018-05-28 20:37  一起学编程  阅读(89)  评论(0编辑  收藏  举报