綁定一個事件 .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()