JQuery事件委托

JavaScript(jQuery)中的事件委托

一:什么是事件委托擎厢?

? ? 事件委托是利用事件冒泡究流,只指定一個(gè)事件處理程序來(lái)管理某一類型的所有事件。

二:為什么要用事件委托动遭?

? ? 1.在JavaScript中添加到頁(yè)面上的事件處理程序的個(gè)數(shù)直接關(guān)系到頁(yè)面的整體運(yùn)行性能梯嗽。為什么呢?因?yàn)楣了穑總€(gè)事件處理函數(shù)都是對(duì)象灯节,對(duì)象會(huì)占用內(nèi)存,內(nèi)存中的對(duì)象越多绵估,性能就越差炎疆。此外,必須事先指定所有的事件處理程序而導(dǎo)致的DOM訪問(wèn)次數(shù)国裳,會(huì)延遲整個(gè)頁(yè)面的交互就緒時(shí)間形入。

? ? 2.對(duì)有很多個(gè)數(shù)據(jù)的表格以及很長(zhǎng)的列表逐個(gè)添加事件,簡(jiǎn)直就是噩夢(mèng)缝左。所以事件委托亿遂,能極大地提高頁(yè)面的運(yùn)行性能,減少開發(fā)人員的工作量渺杉。

三:JavaScript中的例子

? ? ? 我們以下面的HTML代碼為例蛇数,用事件委托的方式實(shí)現(xiàn)當(dāng)鼠標(biāo)單擊某個(gè)li元素的時(shí)候,li元素的背景變成紅色是越。


?下面是JavaScript代碼:


單擊列表4耳舅,實(shí)現(xiàn)效果:




?三:jQuery中的例子


? ? jQuery中的事件委托方式比較豐富,就以同樣的例子來(lái)說(shuō):


? ?1倚评、用on方法,代碼如下:

1

2.用delegate()方法浦徊,代碼如下:


on()方法和delegate()方法對(duì)于事件委托的寫法很像。并且執(zhí)行事件委托的時(shí)候只有子元素(本文中的li)會(huì)觸發(fā)事件天梧,而代為執(zhí)行的父元素(本文中為ul)不會(huì)觸發(fā)事件盔性,所以我們不需要盤判斷觸發(fā)事件的元素節(jié)點(diǎn)名,這一點(diǎn)明顯優(yōu)于原生的JavaScript呢岗。

3.用bind()方法冕香,代碼如下:


bind()方法同原生的JavaScript實(shí)現(xiàn)方法一樣,當(dāng)父元素代子元素執(zhí)行事件時(shí)敷燎,父元素也會(huì)觸發(fā)事件暂筝,所以我們需要判斷一下觸發(fā)事件的元素名。此外硬贯,用bind()方法給元素綁定事件的時(shí)候要注意焕襟,它只能給已經(jīng)存在DOM元素添加事件,不能給未來(lái)存在DOM

元素添加添加事件饭豹。如果要頻繁地添加DOM元素鸵赖,并且給新添加的DOM元素綁定事件的話务漩,用live(),delegate(),on()等方法。鑒于jQuery從1.7之后就不推薦live()和delegate()方法了它褪,所以大家還是使用on()方法吧饵骨。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市茫打,隨后出現(xiàn)的幾起案子居触,更是在濱河造成了極大的恐慌,老刑警劉巖老赤,帶你破解...
    沈念sama閱讀 217,509評(píng)論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件轮洋,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡抬旺,警方通過(guò)查閱死者的電腦和手機(jī)弊予,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,806評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)开财,“玉大人汉柒,你說(shuō)我怎么就攤上這事≡瘅ⅲ” “怎么了碾褂?”我有些...
    開封第一講書人閱讀 163,875評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)薇搁。 經(jīng)常有香客問(wèn)我斋扰,道長(zhǎng),這世上最難降的妖魔是什么啃洋? 我笑而不...
    開封第一講書人閱讀 58,441評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮屎鳍,結(jié)果婚禮上宏娄,老公的妹妹穿的比我還像新娘。我一直安慰自己逮壁,他們只是感情好孵坚,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,488評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著窥淆,像睡著了一般卖宠。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上忧饭,一...
    開封第一講書人閱讀 51,365評(píng)論 1 302
  • 那天扛伍,我揣著相機(jī)與錄音,去河邊找鬼词裤。 笑死刺洒,一個(gè)胖子當(dāng)著我的面吹牛鳖宾,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播逆航,決...
    沈念sama閱讀 40,190評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼鼎文,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了因俐?” 一聲冷哼從身側(cè)響起拇惋,我...
    開封第一講書人閱讀 39,062評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎抹剩,沒想到半個(gè)月后撑帖,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,500評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡吧兔,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,706評(píng)論 3 335
  • 正文 我和宋清朗相戀三年磷仰,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片境蔼。...
    茶點(diǎn)故事閱讀 39,834評(píng)論 1 347
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡灶平,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出箍土,到底是詐尸還是另有隱情逢享,我是刑警寧澤,帶...
    沈念sama閱讀 35,559評(píng)論 5 345
  • 正文 年R本政府宣布吴藻,位于F島的核電站瞒爬,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏沟堡。R本人自食惡果不足惜侧但,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,167評(píng)論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望航罗。 院中可真熱鬧禀横,春花似錦、人聲如沸粥血。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,779評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)复亏。三九已至趾娃,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間缔御,已是汗流浹背抬闷。 一陣腳步聲響...
    開封第一講書人閱讀 32,912評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留刹淌,地道東北人饶氏。 一個(gè)月前我還...
    沈念sama閱讀 47,958評(píng)論 2 370
  • 正文 我出身青樓讥耗,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親疹启。 傳聞我的和親對(duì)象是個(gè)殘疾皇子古程,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,779評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容

  • ??JavaScript 與 HTML 之間的交互是通過(guò)事件實(shí)現(xiàn)的挣磨。 ??事件,就是文檔或?yàn)g覽器窗口中發(fā)生的一些特...
    霜天曉閱讀 3,490評(píng)論 1 11
  • (續(xù)jQuery基礎(chǔ)(1)) 第5章 DOM節(jié)點(diǎn)的復(fù)制與替換 (1)DOM拷貝clone() 克隆節(jié)點(diǎn)是DOM的常...
    凜0_0閱讀 1,338評(píng)論 0 8
  • http://www.jb51.net/article/57827.htm bind: 3.0- 表格中要綁定單擊...
    beforerFE閱讀 1,369評(píng)論 0 1
  • $HTML廊宪, HTTP矾瘾,web綜合問(wèn)題 1、前端需要注意哪些SEO 2箭启、 的title和alt有什么區(qū)別 3壕翩、HT...
    Hebborn_hb閱讀 4,599評(píng)論 0 20
  • 你走的第二十七天,還有86天傅寡。 我和你在一起放妈,又分離。 我愛你荐操!
    rainll閱讀 155評(píng)論 0 0