摘要:事件委托就是事件目標(biāo)自身不處理事件,而是把處理任務(wù)委托給其父元素或者祖先元素,甚至根元素。
事件委托原理
事件委托就是利用事件冒泡原理實現(xiàn)的!
事件冒泡:就是事件從最深節(jié)點開始,然后逐步向上傳播事件;
例:頁面上有一個節(jié)點樹,div > ul > li > a 比如給最里面的a 加一個click事件,那么事件就會一層一層的往外執(zhí)行,執(zhí)行順序 a > li > ul > div, 有這樣一個機制,當(dāng)我們給最外層的div添加點擊事件,那么里面的ul , li , a做點擊事件的時候,都會冒泡到最外層的div上,所以都會觸發(fā),這就是事件委托,委托他們父集代為執(zhí)行事件;
//需求:鼠標(biāo)放到li上對應(yīng)的li背景變灰
存在問題:點擊ul本身的時候也是會觸發(fā)的;
如果我們只想讓li觸發(fā)而不想讓ul觸發(fā),怎么辦???
此時只是獲取了當(dāng)前節(jié)點的位置,但并不知道節(jié)點名稱,這里我們用nodeName來獲取具體是什么標(biāo)簽名,這個返回值是一個大寫的,判斷時需要轉(zhuǎn)換為小寫;
$("ul").on("click",function(e){ if (e.target.nodeName.toLowerCase() == "li") { $(e.target).css("background-color","red").siblings().css("background-color","white"); } else{ return; }; })
補充
this是指向當(dāng)前事件所綁定的元素,而e.target指向事件執(zhí)行時鼠標(biāo)所點擊區(qū)域的那個元素
要看事件綁定的元素內(nèi)部有沒有子元素
如果有子元素的話e.target指向這個子元素,如果沒有,e.target和this都指向事件所綁定的元素。
e.target事件委托就是事件目標(biāo)自身不處理事件,而是把處理任務(wù)委托給其父元素或者祖先元素,甚至根元素(document)。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/83606.html
摘要:可選,布爾值,指定事件是否在捕獲或冒泡階段執(zhí)行,默認冒泡。適用范圍參數(shù)介紹必須,字符串,事件名稱。必須,指定事件觸發(fā)時執(zhí)行的函數(shù)。事件冒泡事件冒泡與事件捕獲恰恰相反,事件冒泡順序是由內(nèi)到外進行事件傳播,直到根節(jié)點。 什么是事件 javascript與HTML之間交互就是通過事件實現(xiàn)的,事件就是文檔或瀏覽器窗口中發(fā)生的一些特定的交互瞬間。事件在瀏覽器中是以對象的形式存在的,即event,...
摘要:而事件分為個級別級事件處理程序,級事件處理程序和級事件處理程序。級中沒有規(guī)范事件的相關(guān)內(nèi)容,所以沒有級事件處理。 showImg(https://segmentfault.com/img/bVburYR?w=499&h=400); HTML依托于JavaScript來實現(xiàn)用戶與WEB網(wǎng)頁之間的動態(tài)交互,接收用戶操作并做出相應(yīng)的反饋,而事件在此間則充當(dāng)橋梁的重要角色。 日常開發(fā)中,經(jīng)常會...
摘要:事件委托事件代理高級程序設(shè)計上解釋事件委托就是利用事件冒泡,只指定一個事件處理程序,就可以管理某一類型的所有事件。事件委托原理事件委托是利用事件的冒泡原理來實現(xiàn)的,事件冒泡就是事件從最深的節(jié)點開始,然后逐級向上傳播事件。 js 事件委托 事件代理 JavaScript高級程序設(shè)計上解釋:事件委托就是利用事件冒泡,只指定一個事件處理程序,就可以管理某一類型的所有事件。 通過例子類比: 有...
摘要:可以傳遞三個參數(shù)表示一個或多個事件類型,比如。表示綁定到指定元素的處理函數(shù)。我們稱它為簡寫事件。必須在中,并且使用作為事件觸發(fā)元素,不然無效。和表示鼠標(biāo)移入和移出的時候觸發(fā)。按下返回按下返回和分別表示光標(biāo)激活和丟失,事件觸發(fā)時機是當(dāng)前元素。 轉(zhuǎn)自個人博客 在JavaScript 有一個非常重要的功能,就是事件驅(qū)動。如果你的網(wǎng)頁需要與用戶進行交互的話,就不可能不用到事件。它在頁面完全加...
摘要:它通過數(shù)據(jù)模型進行鍵值綁定及事件處理,通過模型集合器提供一套豐富的用于枚舉功能,通過視圖來進行事件處理及與現(xiàn)有的通過接口進行交互。 本人兼職前端付費技術(shù)顧問,如需幫助請加本人微信hawx1993或QQ345823102,非誠勿擾 1.為初學(xué)前端而不知道怎么做項目的你指導(dǎo) 2.指導(dǎo)并扎實你的JavaScript基礎(chǔ) 3.幫你準(zhǔn)備面試并提供相關(guān)指導(dǎo)性意見 4.為你的前端之路提供極具建設(shè)性的...
閱讀 2060·2021-11-23 09:51
閱讀 3353·2021-09-28 09:36
閱讀 1120·2021-09-08 09:35
閱讀 1758·2021-07-23 10:23
閱讀 3259·2019-08-30 15:54
閱讀 2998·2019-08-29 17:05
閱讀 438·2019-08-29 13:23
閱讀 1294·2019-08-28 17:51