国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

【筆記】事件委托(即事件代理)知識點

forrest23 / 726人閱讀

摘要:事件委托就是事件目標(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背景變灰

  • 111
  • 222
  • 333
  • 444
  • 555
//用父集做事件處理,當(dāng)li被點擊時,由于冒泡原理事件就會冒泡到ul上,因此ul上有點擊事件,所以事件就會被觸發(fā); //Event對象提供了一個屬性叫做target,可以返回事件的目標(biāo)節(jié)點,我們稱之為事件源, //也就是說,target就可以表示當(dāng)前事件操作的dom,但可能不是真正操作的dom, //js中存在兼容性問題:標(biāo)準(zhǔn)瀏覽器:event.target,IE瀏覽器:event.srcElement

存在問題:點擊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

相關(guān)文章

  • javascript事件基礎(chǔ)知識

    摘要:可選,布爾值,指定事件是否在捕獲或冒泡階段執(zhí)行,默認冒泡。適用范圍參數(shù)介紹必須,字符串,事件名稱。必須,指定事件觸發(fā)時執(zhí)行的函數(shù)。事件冒泡事件冒泡與事件捕獲恰恰相反,事件冒泡順序是由內(nèi)到外進行事件傳播,直到根節(jié)點。 什么是事件 javascript與HTML之間交互就是通過事件實現(xiàn)的,事件就是文檔或瀏覽器窗口中發(fā)生的一些特定的交互瞬間。事件在瀏覽器中是以對象的形式存在的,即event,...

    ad6623 評論0 收藏0
  • 讀書筆記(05) - 事件 - JavaScript高級程序設(shè)計

    摘要:而事件分為個級別級事件處理程序,級事件處理程序和級事件處理程序。級中沒有規(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)常會...

    tinylcy 評論0 收藏0
  • js 事件委托 事件代理

    摘要:事件委托事件代理高級程序設(shè)計上解釋事件委托就是利用事件冒泡,只指定一個事件處理程序,就可以管理某一類型的所有事件。事件委托原理事件委托是利用事件的冒泡原理來實現(xiàn)的,事件冒泡就是事件從最深的節(jié)點開始,然后逐級向上傳播事件。 js 事件委托 事件代理 JavaScript高級程序設(shè)計上解釋:事件委托就是利用事件冒泡,只指定一個事件處理程序,就可以管理某一類型的所有事件。 通過例子類比: 有...

    widuu 評論0 收藏0
  • jQuery入門筆記之(三)事件詳解

    摘要:可以傳遞三個參數(shù)表示一個或多個事件類型,比如。表示綁定到指定元素的處理函數(shù)。我們稱它為簡寫事件。必須在中,并且使用作為事件觸發(fā)元素,不然無效。和表示鼠標(biāo)移入和移出的時候觸發(fā)。按下返回按下返回和分別表示光標(biāo)激活和丟失,事件觸發(fā)時機是當(dāng)前元素。 轉(zhuǎn)自個人博客 在JavaScript 有一個非常重要的功能,就是事件驅(qū)動。如果你的網(wǎng)頁需要與用戶進行交互的話,就不可能不用到事件。它在頁面完全加...

    GitCafe 評論0 收藏0
  • Backbone.js學(xué)習(xí)筆記(一)

    摘要:它通過數(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è)性的...

    FrancisSoung 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<