成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

切圖崽的自我修養(yǎng)-梳理Jquery API

JerryZou / 2498人閱讀

摘要:前言梳理一下中還不太熟悉的事件綁定統(tǒng)一用摒棄掉之前的解綁事件統(tǒng)一用語法糖,支持多個事件綁定同一個函數(shù)語法糖,支持多個事件綁定不同的函數(shù)語法糖,支持多個事件綁定不同的函數(shù)可以往里傳參可以給未創(chuàng)建的上綁定事件只能采取事件委托的形式所以寫成這樣是

前言

梳理一下Jquery中還不太熟悉的API

Jquery事件綁定統(tǒng)一用on(摒棄掉之前的click,bind),解綁事件統(tǒng)一用off

語法糖,支持多個事件綁定同一個函數(shù)

     
     $("p").on("mouseover mouseout",function(){
       alert(1);
       });
       

語法糖,支持多個事件綁定不同的函數(shù)

   
     
      $("p").on({
           mouseover:function(){alert(1)},  
           mouseout:function(){alert(2)}, 
        click:function(){alert(3)}  
         });
         
         

語法糖,支持多個事件綁定不同的函數(shù)

       $(document).ready(function(){
         $("p").on("myOwnEvent", function(event, showName){
          $(this).text(showName + "! What a beautiful name!").show();
        });
        
         $("button").click(function(){
         $("p").trigger("myOwnEvent",["Anja"]);
         });
       });
       

可以往callback里傳參

       function callback(event){
         alert(event.data.msg);
       }

       $(document).ready(function(){
         $("p").on("click", {msg: "You just clicked me!"}, callback)
       });

可以給未創(chuàng)建的DOM上綁定事件(只能采取事件委托的形式)

     $("button").click(function(){
          $("

This is a new paragraph.

").insertAfter("button"); }); $("div").on("click",".newP",function(){ $(this).slideToggle(); }); 所以寫成這樣是無法觸發(fā)的 $("button").click(function(){ $("

This is a new paragraph.").insertAfter("button"); }); $(".newP").on("click",function(){ $(this).slideToggle(); });

針對是大量元素都綁定了同一事件的情況,建議采用事件委托的形式對事件進行處理.
比如我們希望點擊$(".btn")會彈出彈框alert("click me!");

   
       
click me click me click me default default

不建議 $(".btn").on("click",function(){alert("click me")})
而是建議$(".parent").on("click",".btn",function(){alert("click me")})

因為在大量子元素上綁事件,相當于是每一個$(".btn")都綁定了一個匿名回調(diào)函數(shù),效率低,資源率占用高,性能很差.
我們可以利用事件向上冒泡的特性,只要在父元素上綁定一次事件處理的回調(diào)函數(shù)即可. 因為每次子元素產(chǎn)生事件,冒泡到父元素時父元素會判定事件源對象e.target,如果e.target==$(".btn")[0], 則觸發(fā)回調(diào)函數(shù).

Trigger用來模擬事件觸發(fā)
    $(".btn").trigger("click");
    
防止事件重復(fù)觸發(fā)

比如一個btn點擊之后會對某個元素開始一段動畫. 并且動畫過程期間,不再響應(yīng)btn的點擊,直到動畫調(diào)用完畢之后.
思路很簡單,對btn元素設(shè)定一個狀態(tài)標簽lock=0, 動畫調(diào)用期間設(shè)置lock為1,動畫完成的回調(diào)把lock設(shè)置成0. 每次點擊都判斷btn的狀態(tài)是否為可用.

Css animation回調(diào)

Jquery有animation方法能夠?qū)υ卦O(shè)置動畫,并且可以傳入callback作為動畫完成的回調(diào)
但是能否對寫在CSS文件中的動畫設(shè)置回調(diào)?
答案是肯定的

CSS 動畫播放時,會發(fā)生以下三個事件:

animationstart - CSS 動畫開始后觸發(fā)

animationiteration - CSS 動畫重復(fù)播放時觸發(fā)

animationend - CSS 動畫完成后觸發(fā)

我們只要對動畫元素監(jiān)聽這三個事件,就能對對應(yīng)的狀態(tài)設(shè)置回調(diào)函數(shù),比如

.ani{
    width:30px;
    height:30px;
    background:red;
    animation:myani 5s}
    
@keyframes myani{
    100% {width:500px;}
   }
   
...

$(".ani").on("webkitAnimationEnd",function(){alert(111)})

  ...
  

在動畫完成后,會彈出彈框

Css transition回調(diào)

和Css animation 一樣,播放完畢也會觸發(fā)事件transitionEnd

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/79942.html

相關(guān)文章

  • 切圖崽的自我修養(yǎng)梳理Jquery API

    摘要:前言梳理一下中還不太熟悉的事件綁定統(tǒng)一用摒棄掉之前的解綁事件統(tǒng)一用語法糖,支持多個事件綁定同一個函數(shù)語法糖,支持多個事件綁定不同的函數(shù)語法糖,支持多個事件綁定不同的函數(shù)可以往里傳參可以給未創(chuàng)建的上綁定事件只能采取事件委托的形式所以寫成這樣是 前言 梳理一下Jquery中還不太熟悉的API Jquery事件綁定統(tǒng)一用on(摒棄掉之前的click,bind),解綁事件統(tǒng)一用off 語法...

    warnerwu 評論0 收藏0
  • 切圖崽的自我修養(yǎng)梳理Jquery API

    摘要:前言梳理一下中還不太熟悉的事件綁定統(tǒng)一用摒棄掉之前的解綁事件統(tǒng)一用語法糖,支持多個事件綁定同一個函數(shù)語法糖,支持多個事件綁定不同的函數(shù)語法糖,支持多個事件綁定不同的函數(shù)可以往里傳參可以給未創(chuàng)建的上綁定事件只能采取事件委托的形式所以寫成這樣是 前言 梳理一下Jquery中還不太熟悉的API Jquery事件綁定統(tǒng)一用on(摒棄掉之前的click,bind),解綁事件統(tǒng)一用off 語法...

    loonggg 評論0 收藏0
  • 切圖崽的自我修養(yǎng)--[BUILD]構(gòu)建工具思路梳理

    摘要:前言之前也是從過來的,到現(xiàn)在的中間有些問題沒怎么細想,比如明明是構(gòu)建工具為什么調(diào)試總是要開啟一個服務(wù)之類的,現(xiàn)在就來簡單梳理下思路最原始的構(gòu)建工具無非是這樣改動了某個資源文件,要手動運行構(gòu)建命令才能重新構(gòu)建,重新構(gòu)建的時候構(gòu)建工具將所有資源 前言 之前也是從grunt/gulp/fis/過來的,到現(xiàn)在的webpack,中間有些問題沒怎么細想,比如明明是構(gòu)建工具為什么調(diào)試總是要開啟一個h...

    wfc_666 評論0 收藏0
  • 切圖崽的自我修養(yǎng)--[BUILD]構(gòu)建工具思路梳理

    摘要:前言之前也是從過來的,到現(xiàn)在的中間有些問題沒怎么細想,比如明明是構(gòu)建工具為什么調(diào)試總是要開啟一個服務(wù)之類的,現(xiàn)在就來簡單梳理下思路最原始的構(gòu)建工具無非是這樣改動了某個資源文件,要手動運行構(gòu)建命令才能重新構(gòu)建,重新構(gòu)建的時候構(gòu)建工具將所有資源 前言 之前也是從grunt/gulp/fis/過來的,到現(xiàn)在的webpack,中間有些問題沒怎么細想,比如明明是構(gòu)建工具為什么調(diào)試總是要開啟一個h...

    elina 評論0 收藏0
  • 切圖崽的自我修養(yǎng)-[HTTP] 部署WEB服務(wù)流程梳理

    摘要:前言關(guān)鍵字域名,備案服務(wù)器解析記錄配置流程你想在云端部署兩個服務(wù),一個新聞?wù)军c,一個游戲門戶站點域名也已經(jīng)想好了,是和用戶通過訪問能訪問到新聞?wù)军c,通過訪問能訪問游戲門戶站點首先,你需要上阿里云上買一個一級域名按照中國的相關(guān)法律規(guī)定,域名如 前言: 關(guān)鍵字: 域名,備案, ip, 服務(wù)器, dns解析記錄 配置流程: 你想在云端部署兩個web服務(wù),一個新聞?wù)军c,一個游戲門戶站點. 域名...

    Barry_Ng 評論0 收藏0

發(fā)表評論

0條評論

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