Jquery拥有强大的Dom选择能力,同样拥有强大的处理时间能力,下面对Jquery的事件处理进行总结。
1.bind的作用是对匹配的元素进行事件绑定,bind(type [,data],function); 例如:
$("#panel h5.head").bind("click",function(){
$(this).next("div.content").toggle();
});
jquery对一些常用的方法进行了封装,可以简化代码量:
$("#panel h5.head").mouseover(function(){
$(this).next().show();
});
2.判断元素是否显示,可以用is()方法,例如:
$content.is(":visible")
3.事件冒泡是当一个div绑定一个事件,而外层的body也绑定了一个事件,那么当触法div的绑定事件时,外层的body绑定的事件也触法,为此我们需要阻止事件冒泡,方法如下:
$('#content').click(function(event){
var txt = $('#msg').html() + "<p>外层div元素被点击.<p/>";
$('#msg').html(txt);
event.stopPropagation(); // 阻止事件冒泡
});
同样的,Jquery也支持阻止表单提交,方法类似,我们可以对如上两个语句进行简写,只需写return false即可。
4.event.target()方法是获取触法事件的元素,jquery对其封装兼容,例如:
$("a[href=http://google.com]").click(function(event) {
alert(event.target.href);//获取触发事件的<a>元素的href属性值
return false;//阻止链接跳转
});
5.
event.pageY和event.pageX获取相当于页面的x坐标和y坐标,分别对应css中的top和left
6. event.which()可以获取鼠标按键以及键盘按键,鼠标按键:
$("a").mousedown(function(e){
alert(e.which);// 1 = 鼠标左键 left; 2 = 鼠标中键; 3 = 鼠标右键
})
键盘按键:
$("input").keyup(function(e){
alert(e.which);
})
7.移除事件unbind([type] [ ,data]);例如:
$('#delAll').click(function(){
$('#btn').unbind("click");
});
也可以移除特定的事件:
$('#delTwo').click(function(){
$('#btn').unbind("click",myFun2);
});
当只想让事件执行一次时,只需要在绑定事件时将bind改为one。