绑定一个事件 .bind( "事件名" , "处理函数" ) 绑定多个事件 .bind( { "事件名": "处理函数" , "事件名": "处理函数" , "事件名": "处理函数" } )javascript
//绑定单个事件
$("#btn").bind("click",function () {
alert("我被点了");
});
//bind()方法能够为元素同时绑定多个事件
$("#btn").bind({"click":function(){
alert("我被点了");
},"mouseover":function(){
$(this).css("backgroundColor","red");
},"mouseout":function(){
$(this).css("backgroundColor","");
}});
复制代码
//给div标签里面的p标签添加事件
$("#dv").delegate("p","click",function () {
alert("我被点了");
})
复制代码
父级元素.on("事件类型","子级元素",事件处理函数);css
$("#btn").on("click",function () {
//建立p添加到div中
$("#dv").append($("<p>这是一个p</p>"));
//为div中的p标签绑定事件
$("#dv").on("click","p",function () {
alert("我被点了");
});
});
复制代码
注意: 在实际的应用中,通常状况下on比较经常使用,bind与delegate不经常使用
java
绑定与解绑事件浏览器
参数bash
示例:app
$("#dv").unbind("click");
$("#dv").undelegate("click");
$("#dv").off("click");
复制代码
//下面的代码是把子级元素的点击事件解绑了,父级元素的点击事件还存在
$("#dv").off("click","**");
//移除父级元素和子级元素的全部的事件
$("#dv").off();
复制代码
注意:函数
父级元素和子级元素都是经过正常的方式绑定事件,若是经过off解绑的>时候,父级元素的事件解绑了,子级元素的事件没有解绑this
可是:若是子级元素是经过父级元素调用delegate的方式绑定的事件,父>级元素使用off方式解绑事件,这个时候父级元素和子级元素的相同的事>件都会被解绑 复制代码
$(function () {
$("#btn1").click(function () {
$(this).css("backgroundColor","red");
});
//点击第二个按钮-触发第一个按钮的点击事件
$("#btn2").click(function () {
//触发事件--3三种方式
$("#btn1").click();
$("#btn1").trigger("click");//触发事件
$("#btn1").triggerHandler("click");//触发事件
});
});
复制代码
注意:trigger() 与 triggerHandler() 区别spa
trigger() 会触发浏览器的默认行为,并执行事件 triggrtHandler() 不会触发浏览器默认行为,可是会执行事件 例如:获取到焦点是浏览器的默认行为code
$("#txt").trigger("focus"); //文本框获取到焦点了 $("#txt").triggerHandler("focus"); //文本框没有获取到焦点了 复制代码
$("div").on("click",function(event){} )
例如能够取消a标签的默认事件 $("a").preventDefault()