中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

jQuery 事件注冊和綁定及this與event.target的區別淺析

發布時間:2020-06-09 23:39:00 來源:網絡 閱讀:561 作者:web郭樂 欄目:web開發

最近小碼哥,在研究學習nodejs以及相關框架webpack、express、reactjs等等,為了將來,為了RMB,小碼哥牢記自我充電,以備不時之需。

在學習reactjs的時候,在前輩ruanyifeng的博文里看到了一個以前沒怎么注意的知識點。是與this和event.target之間的區別有關的。當時感覺就蒙了,發現event.target貌似印象不深啊,,瞬間小碼哥開啟了奔跑模式,,,

各種baidu,各種Chrome biying等等,發現區分不難,就是比較細致。不細分析,有點暈!


先給個總結,結合前輩的講解和自己的理解得出:

1、作為前端人員,對于上下文的代表this貌似都不陌生,陌生的就是有時候容易分不清this最后代表的是誰了。在事件注冊和綁定上,this指代的是事件注冊和綁定的對象元素。即,誰綁定了click等事件,this一般指代誰。在簡單的事件里,this又叫上下文。

2、但是,作為前端人員,event.target并不應該陌生,但卻又用的不多,,總之,小碼哥看到它的時候萌B了,,那event.target代表的有是神馬呢?在自己寫的demo里,反復試驗,總算摸清了,它最終代表的是誰了!event.target和事件綁定及注冊關聯不大,但是和事件發生的時候,所直接出發的元素有大關聯。


以上兩點,是文字敘述,有點蒼白,,對小白前端來說,估計也會萌B。。。


實踐是檢驗真理的唯一標準,這是某個為人說的。在IT業,實實在在的demo代碼是檢驗事件是否能通的唯一標準。


代碼如下:(希望新老碼農光看勿噴,默默的哈~)

<!DOCTYPE html>

<html>

<head>

<meta charset="utf-8"/>

<title></title>

</head>


<body class="oBody">

<ul class="oUl" >

      <li class="oLi oLi1">item 1

        <ul class="oOul" >

          <li>sub item 1-a</li>

          <li>sub item 1-b</li>

        </ul>

      </li>

      <li class="oLi oLi2">item 2

        <ul class="oOul" >

          <li>sub item 2-a</li>

          <li>sub item 2-b</li>

        </ul>

      </li>

  </ul>

<script type="text/javascript" src="js/jquery-2.1.1.js"></script>

<script type="text/javascript">

$(function(){

    $(".oUl").children().find("ul").hide();

    // $(".oLi").click(function(){

    //     $(this).children("ul").toggle();

    // });

    // $(".oLi").on("click",function(){

    //     $(this).children("ul").toggle();

    // });

    $("body").on("click",function(){

        alert(event.target.className);

        $(event.target).children(".oOul").toggle();

        //$(event.target).children().find(".oOul").toggle();

        //$(this).children().find("ul").toggle();//this具有向下捕獲的現象

        $(event.target).css("font-size","22px");

    });

    // $("body").on("click",".oLi",function(){

    //     alert(event.target.className);

    //     //$(event.target).children(".oOul").toggle();

    //     $(this).children(".oOul").toggle();

    // });


});

</script>

</body>

</html>


代碼只要把jquery改為你本地的文件,可直接運行,比較干巴,將就一下哈。代碼里介紹了幾個事件注冊和綁定的編寫方法,各有優缺點,就不贅述了。主要想說的就是未注釋的那段,文字比較蒼白,希望大家用的到的,可以實際操作一下。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

大埔区| 崇文区| 乌拉特后旗| 措美县| 吉林省| 海兴县| 平乡县| 克什克腾旗| 方山县| 靖边县| 启东市| 麟游县| 全椒县| 宣恩县| 奉化市| 滨州市| 莎车县| 宝坻区| 丽水市| 钟山县| 龙陵县| 瑞丽市| 水城县| 丹巴县| 青神县| 陆良县| 潮安县| 乐陵市| 东乌珠穆沁旗| 荥阳市| 东至县| 如皋市| 赞皇县| 旬阳县| 遂溪县| 北票市| 永清县| 彰化县| 沂源县| 大名县| 鄱阳县|