jquery的trigger和triggerHandler的區別樣本介紹

來源:互聯網
上載者:User

標籤:blog   http   2014   代碼   type   log   不同的   程式   

triggerHandler() 方法觸發被選元素的指定事件類型。但不會執行瀏覽器預設動作,也不會產生事件冒泡。

triggerHandler() 方法與 trigger() 方法類似。不同的是它不會觸發事件(比如表單提交)的預設行為,而且隻影響第一個匹配元素。

與 trigger() 方法相比的不同之處
  • 它不會引起事件(比如表單提交)的預設行為
  • .trigger() 會操作 jQuery 對象匹配的所有元素,而 .triggerHandler() 隻影響第一個匹配元素。
  • 由 .triggerHandler() 建立的事件不會在 DOM 樹中冒泡;如果目標元素不直接處理它們,則不會發生任何事情。
  • 該方法的返回的是事件處理函數的傳回值,而不是具有可鏈性的 jQuery 對象。此外,如果沒有處理常式被觸發,則這個方法返回 undefined。                                                                                                                                                  看下面的例子就可以更加直白的理解   當用trigger()方法的時候:

 

在瀏覽器中點擊之後顯示的效果是這樣的

但是如果是用triggerHandler()代碼如下:

 

單擊之後的是這樣的:

由此可以看出:

當點擊 checkbox的時候 checkbox勾上 並將input[type=‘text‘]賦值www.baidu.com 

當點擊 input[type=‘button‘] 的時候 就會發生跟點擊checkbox同樣的事情 

將trigger換成triggerHandler時候 當點擊 input[type=‘button‘] 的時候 就只會給input[type=‘text‘]賦值 而不會勾選checkbox 

triggerHandler 阻止了 綁定事件的元素的預設行為

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.