更新時間:2023-02-10 來源:黑馬程序眼 瀏覽量:

jQuery具有靈活的事件處理機制,包括對事件的綁定和切換。關(guān)于事件綁定與切換的方法和說明如表15-11所示。
表15-11 事件綁定與切換
表15-11列舉了事件綁定與切換的方法,在這些方法的參數(shù)中,events表示事件名(多個用空格分隔),data表示將要傳遞給事件處理函數(shù)的數(shù)據(jù),selector表示選擇器,function表示事件處理函數(shù),type表示添加到元素的事件(多個用空隔分隔),over和out分別表示鼠標移入和移出時的事件處理函數(shù)。
下面分別演示事件綁定與切換方法的使用案例。
(1)事件的綁定與取消綁定
//on()方法綁定事件
$("div").on("click",function(){
alert("綁定事件");
});
//off()方法取消綁定
$("div").off("click"); (2)綁定單次事件
$("div").one("click",function(){
alert("綁定單次事件");
}); (3)多個事件綁定同一函數(shù)
$("div").on("mouseover mouseout",function(){
alert("鼠標移入或移出");
}); (4)多個事件綁定不同的函數(shù)
$("div").on({
mouseover:function() {
alert("鼠標移入");
},
mouseout:function(){
alert("鼠標移出");
}
}); (5)綁定自定義事件
//綁定自定義事件
$("div").on("CustomEvent",function(){
alert("已觸發(fā)自定義事件");
});
//觸發(fā)自定義事件
$("div").click(function(){
$("div").trigger("CustomEvent");
}); (6)傳遞數(shù)據(jù)到事件處理函數(shù)
function myFunc(event){
alert("收到消息:"+event.data.msg);
}
$("div").on("click",{msg:"測試數(shù)據(jù)"},myFunc) (7)為以后創(chuàng)建的元素委派事件
//為<body>的子元素<div>委派事件
$("body").on("click","div",function(){
alert("收到");
});
//創(chuàng)建<div>元素
$("body").append("<div>測試</div>"); (8)鼠標移入和移出事件切換
$("div").hover(function() {
alert("切換-鼠標移入")
},function(){
alert("切換-鼠標移出");
}); (9)隱藏與顯示事件切換
//第一次調(diào)用時隱藏
$("div").toggle();
//第二次調(diào)用時顯示
$("div").toggle();從以上事件綁定與切換的例子中可以看出,jQuery事件處理方法的功能非常豐富,通過靈活地運用,可以實現(xiàn)很多復雜的頁面交互效果。
注意:on()方法與off()方法是jQuery從1.7版本開始新增的方法。jQuery官方推薦使用on()方法進行事件綁定,在新版本中已經(jīng)取代了bind()、delegate()和live()方法。