jQuery事件机制
(1)、注册事件
使用: bind(“事件类型”,回调函数 ) on(“事件类型”,回调函数)
bind()、on()方法向被选元素添加一个或多个事件处理程序,以及当事件发生时运行的函数。
$("p").bind("click",function(){
alert("这个段落被点击了。");
}"dbClick",function(){
alert("这个段落被双击了。");
});
注意:bind方法与on方法都是事件绑定,但是两者却又有着一个大区别:事件委托。
当我们想要使用事件委托的时候,我们想到的肯定是on方法。而不是bind方法,因为相比bind方法,on方法多了一个selector方法,也就是子类选择器
(2)、委托事件 this指向被委托的元素
delegate()方法为指定的元素(属于被选元素的后代元素)添加一个或多个事件处理程序,并规定当这些事件发生时运行的函数;
$("div").delegate("p","click",function(){
$("p").css("background-color","pink");
});
(3)、事件对象event
event对象有以下属性
type:事件类型,比如click。
which:触发该事件的鼠标按钮或键盘的键。
target:事件发生的初始对象。
data:传入事件对象的数据。
pageX:事件发生时,鼠标位置的水平坐标(相对于页面左上角)。
pageY:事件发生时,鼠标位置的垂直坐标(相对于页面左上角)。
$("button").click(function(event){
console.log(evet);
});
(4)、each()方法 each()遍历元素 元素.each(),参数是回调函数
each()方法为每个匹配元素规定要运行的函数。
$("button").click(function(){
$("li").each(function(){
alert($(this).text())
});
});