在每一個匹配的元素上觸發某類事件。
這個函數也會導致瀏覽器同名的默認行爲的執行。比如,如果用trigger()觸發一個’submit’,則同樣會導致瀏覽器提交表單。如果要阻止這種默認行爲,應返回false。
你也可以觸發由bind()註冊的自定義事件
triggerHandler( event, [data] )
這個特別的方法將會觸發指定的事件類型上所有綁定的處理函數。但不會執行瀏覽器默認動作.
如果你對一個focus事件執行了 .triggerHandler() ,瀏覽器默認動作將不會被觸發,只會觸發你綁定的動作:
首先trigger 和triggerHandler都是模擬事件發生的。 下面用案例來描述一下區別 : <html lang="en"> <head> <meta charset="utf-8"> <title>test</title> <script src="http://code.jquery.com/jquery-1.10.2.js"></script> </head> <body> <input type="checkbox" /> <input type="text" id="test"/> <input type="button" value="button" id="bnt" οnclick="bntClick()"/> </body> <script> $( document ).ready(function() { $("input[type='checkbox']").bind("click",function(){ $("#test").val("www.baidu.com"); }); }); function bntClick(){ $("input[type='checkbox']").trigger("click"); } </script> </html> 當點擊 checkbox的時候 checkbox勾上 並將input[type='text']賦值www.baidu.com 當點擊 input[type='button'] 的時候 就會發生跟點擊checkbox同樣的事情 將trigger換成triggerHandler時候 當點擊 input[type='button'] 的時候 就只會給input[type='text']賦值 而不會勾選checkbox triggerHandler 阻止了 綁定事件的元素的默認行爲
轉載來自:http://zhidao.baidu.com/link?url=_CQYl3erUaN9dFj4fkPt9NhJBm45M3jnwG0PuiUCcnnGvW1wjfJykRCDW2ZfsSLq33MrtfdURaQaz05nVyD0pyMFL5VQeRmGFQvHJGaAkuO