jQuery中on()方法用法實(shí)例詳解
本文實(shí)例分析了jQuery on()方法的用法。分享給大家供大家參考。具體分析如下:
一、jQuery on()方法的使用:
on(events,[selector],[data],fn)
events:一個(gè)或多個(gè)用空格分隔的事件類型和可選的命名空間,如"click"或"keydown.myPlugin" 。
selector:一個(gè)選擇器字符串用于過(guò)濾器的觸發(fā)事件的選擇器元素的后代。如果選擇器為null或省略,當(dāng)它到達(dá)選定的元素,事件總是觸發(fā)。
data:當(dāng)一個(gè)事件被觸發(fā)時(shí)要傳遞event.data給事件處理函數(shù)。
fn:該事件被觸發(fā)時(shí)執(zhí)行的函數(shù)。 false 值也可以做一個(gè)函數(shù)的簡(jiǎn)寫(xiě),返回false。
二、jQuery on()方法的優(yōu)點(diǎn):
1、提供了一種統(tǒng)一綁定事件的方法
2、仍然提供了.delegate()的優(yōu)點(diǎn),當(dāng)然如果需要你也可以直接用.bind()
三、與.bind(), .live(), .delegate()的比較:
1、其實(shí).bind(), .live(), .delegate()都是通過(guò).on()來(lái)實(shí)現(xiàn)的
return this.on( types, null, data, fn );
},
unbind: function( types, fn ) {
return this.off( types, null, fn );
},
live: function( types, data, fn ) {
jQuery( this.context ).on( types, this.selector, data, fn );
return this;
},
die: function( types, fn ) {
jQuery( this.context ).off( types, this.selector || "**", fn );
return this;
},
delegate: function( selector, types, data, fn ) {
return this.on( types, selector, data, fn );
},
undelegate: function( selector, types, fn ) {
// ( namespace ) or ( selector, types [, fn] )
return arguments.length === 1 ? this.off( selector, "**" ) : this.off( types, selector || "**", fn );
}
2、用.bind()的代價(jià)是非常大的,它會(huì)把相同的一個(gè)事件處理程序hook到所有匹配的DOM元素上
3、不要再用.live()了,它已經(jīng)不再被推薦了,而且還有許多問(wèn)題
4、.delegate()會(huì)提供很好的方法來(lái)提高效率,同時(shí)我們可以添加一事件處理方法到動(dòng)態(tài)添加的元素上。
5、我們可以用.on()來(lái)代替上述的3種方法
四、jQuery on()方法的使用示例
1、綁定click事件,使用off()方法移除on()所綁定的方法
$("p").on("click",function(){
$(this).css("background-color","pink");
});
$("button").click(function(){
$("p").off("click");
});
});
2、多個(gè)事件綁定同一個(gè)函數(shù)
$("p").on("mouseover mouseout",function(){
$("p").toggleClass("intro");
});
});
3、多個(gè)事件綁定不同函數(shù)
$("p").on({
mouseover:function(){$("body").css("background-color","lightgray");},
mouseout:function(){$("body").css("background-color","lightblue");},
click:function(){$("body").css("background-color","yellow");}
});
});
4、綁定自定義事件
$("p").on("myOwnEvent", function(event, showName){
$(this).text(showName + "! What a beautiful name!").show();
});
$("button").click(function(){
$("p").trigger("myOwnEvent",["Anja"]);
});
});
5、傳遞數(shù)據(jù)到函數(shù)
{
alert(event.data.msg);
}
$(document).ready(function(){
$("p").on("click", {msg: "You just clicked me!"}, handlerName)
});
6、適用于未創(chuàng)建的元素
$("div").on("click","p",function(){
$(this).slideToggle();
});
$("button").click(function(){
$("<p>This is a new paragraph.</p>").insertAfter("button");
});
});
希望本文所述對(duì)大家的jQuery程序設(shè)計(jì)有所幫助。
- jQuery on()方法綁定動(dòng)態(tài)元素的點(diǎn)擊事件實(shí)例代碼淺析
- jQuery on()綁定動(dòng)態(tài)元素出現(xiàn)的問(wèn)題小結(jié)
- 解決jquery中動(dòng)態(tài)新增的元素節(jié)點(diǎn)無(wú)法觸發(fā)事件問(wèn)題的兩種方法
- jquery append 動(dòng)態(tài)添加的元素事件on 不起作用的解決方案
- jQuery給動(dòng)態(tài)添加的元素綁定事件的方法
- jQuery動(dòng)態(tài)創(chuàng)建html元素的常用方法匯總
- jQuery獲取動(dòng)態(tài)生成的元素示例
- jquery動(dòng)態(tài)添加元素事件失效問(wèn)題解決方法
- jQuery事件綁定on()、bind()與delegate() 方法詳解
- Jquery中offset()和position()的區(qū)別分析
- jQuery on()方法綁定動(dòng)態(tài)元素的點(diǎn)擊事件無(wú)響應(yīng)的解決辦法
相關(guān)文章
Jquery阻止事件冒泡 event.stopPropagation
幫朋友寫(xiě)了一個(gè)小效果,單擊標(biāo)簽后標(biāo)簽變色并添加一個(gè)叉的圖片,點(diǎn)擊叉標(biāo)簽恢復(fù)原樣,具體效果請(qǐng)點(diǎn)擊下面的result2011-12-12
jquery實(shí)現(xiàn)導(dǎo)航固定頂部的效果仿蘑菇街
這篇文章主要介紹了jquery實(shí)現(xiàn)導(dǎo)航固定頂部的效果,仿蘑菇街的,感覺(jué)還不錯(cuò),下面將實(shí)例與大家分享下2014-10-10
JQuery 選項(xiàng)卡效果(JS與HTML的分離)
基于JQuery實(shí)現(xiàn)的一個(gè)選項(xiàng)卡效果,重點(diǎn)體現(xiàn)在HTML里沒(méi)有內(nèi)聯(lián)事件處理程序,而是定義在js文件里,做到行為與結(jié)構(gòu)的分離。2010-04-04
學(xué)習(xí)使用jquery iScroll.js移動(dòng)端滾動(dòng)條插件
這篇文章主要為大家詳細(xì)介紹了jquery iScroll.js移動(dòng)端滾動(dòng)條插件的使用方法,以及iScroll.js使用注意事項(xiàng),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-02-02
jQuery實(shí)現(xiàn)經(jīng)典的網(wǎng)頁(yè)3D輪播圖封裝功能【附源碼下載】
這篇文章主要介紹了jQuery實(shí)現(xiàn)經(jīng)典的網(wǎng)頁(yè)3D輪播圖封裝功能,結(jié)合實(shí)例形式詳細(xì)分析了基于jQuery插件Figure_3D.js實(shí)現(xiàn)3D輪播圖功能的具體步驟與相關(guān)操作技巧,需要的朋友可以參考下2019-02-02
jQuery實(shí)現(xiàn)的移動(dòng)端圖片縮放功能組件示例
這篇文章主要介紹了jQuery實(shí)現(xiàn)的移動(dòng)端圖片縮放功能組件,結(jié)合實(shí)例形式詳細(xì)分析了jQuery基于移動(dòng)端的圖片縮放功能組件實(shí)現(xiàn)原理、步驟、核心代碼及使用技巧,需要的朋友可以參考下2020-05-05
基于jquery實(shí)現(xiàn)圖片廣告輪換效果代碼
基于jquery實(shí)現(xiàn)圖片廣告輪換效果代碼,需要的朋友可以參考下。2011-07-07
JQuery插件jcarousellite的參數(shù)中文說(shuō)明
這篇文章主要介紹了JQuery插件jcarousellite的參數(shù)中文說(shuō)明,本文分別給出各個(gè)參數(shù)的含義,需要的朋友可以參考下2015-05-05
jquery表單對(duì)象屬性過(guò)濾選擇器實(shí)例分析
這篇文章主要介紹了jquery表單對(duì)象屬性過(guò)濾選擇器,實(shí)例分析了jQuery選擇器的相關(guān)使用技巧,需要的朋友可以參考下2015-05-05

