jquery的自訂事件通過on綁定trigger觸發

來源:互聯網
上載者:User

標籤:code   事先   property   ann   .com   jquer   inpu   回調   use   

jquery綁定自訂事件,可以實現預先綁定好一個處理方法,當需要使用的時候利用jquery trigger來觸發自訂事件,以達到方便快捷的目的。
我們來假設一個這樣的情境,一個textarea中的字數計算,如果是直接鍵盤輸入或者粘貼進來的話,是可以使用input方法檢測到,但是如果是通過js插入的文本,這個時候input事件就監測不到了,
這個時候如果我們事先給綁定一個myChange事件,它的回呼函數就是來處理計算其中的文本字數的,我們在使用js給這個textarea賦值以後,連綴寫上.trigger("myChange")就可以計算到。

測試代碼:

<textarea id="textarea"></textarea><p><button type="button" id="btn1">jquery自訂事件-事件註冊</button></p><p><button type="button" id="btn2">jquery自訂事件-測試觸發</button></p><p style="margin-top: 100px;"><a href="http://www.51xuediannao.com/">懶人建站</a>http://www.51xuediannao.com/整理</p><script src="http://libs.useso.com/js/jquery/1.11.1/jquery.min.js"></script><script>    $btn1 = $("#btn1");    //jquery定義一個自訂事件 diyEvent  注意:回呼函數中的第一個參數是事件,需要接受其他參數的話,在後面跟上其他參數即可  不太好表述,仔細對照“調用樣本”能看明白    $btn1.on("diyEvent",function(event,a,b,fun){        console.log(a,b);        fun();    });     //jquery自訂事件觸發樣本, 注意: trigger傳入的參數第一個是自訂的事件名,第二個參數是一個數組,數組中的項會和自訂事件中回調的參數項對應    $("#btn2").click(function(){        $btn1.trigger("diyEvent",["11","22",function(){alert("懶人建站")}])    }) //我們來測試一下 textarea 這個情境    var haHa = function(){        var test = function($el){            var len= $el.val().length;            console.log(len)        };        $("#textarea").on("input propertychange",function(){            test($(this));        }).on("myChange",function(){            test($(this));        });    };    haHa();     $btn1.click(function(){        $("#textarea").val("jquery的自訂事件通過on綁定trigger觸發").trigger("myChange")    })</script>

本文連結:jquery的自訂事件通過on綁定trigger觸發http://www.51xuediannao.com/js/jquery/832.html

jquery的自訂事件通過on綁定trigger觸發

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.