1. 程式人生 > >自定義事件.trigger()和.triggerHandler()

自定義事件.trigger()和.triggerHandler()

microsoft ati 普通 影響 submit 返回值 程序 sof efi

自定義事件.trigger()和.triggerHandler()

1 .trigger()根據綁定到匹配元素的給定的事件類型執行所有的處理程序和行為,除了能夠觸發瀏覽器事件,同時還支持自定義事件,並且自定義時間還支持傳遞參數

2 trigger觸發瀏覽器事件與自定義事件區別

    自定義事件對象,是jQuery模擬原生實現的
自定義事件可以傳遞參數

3 alert的執行必須要有用戶點擊才可以

4 triggerHandler與trigger的用法是一樣的,區別是

   triggerHandler不會觸發瀏覽器的默認行為,.triggerHandler( "submit" )將不會調用表單上的.submit()
.trigger() 會影響所有與 jQuery 對象相匹配的元素,而 .triggerHandler() 僅影響第一個匹配到的元素
使用 .triggerHandler() 觸發的事件,並不會在 DOM 樹中向上冒泡。 如果它們不是由目標元素直接觸發的,那麽它就不會進行任何處理
與普通的方法返回 jQuery 對象(這樣就能夠使用鏈式用法)相反,.triggerHandler() 返回最後一個處理的事件的返回值。如果沒有觸發任何事件,會返回 undefined

5 trigger的特性是會在DOM樹上冒泡,如果要阻止冒泡,在事件處理程序中返回false或調用事件對象中的.stopPropagation()方法可以使事件停止冒泡

6 trigger具有觸發原生與自定義能力,但是事件對象event無法完美的實現,因為一個是瀏覽器給的,一個是自己模擬的

7 .trigger()模擬事件對象,但他沒有完美的復制自然發生的事件,如果要觸發通過JQuery綁定的事件處理函數,而不觸發原生的事件,使用.triggerHandler()來代替


自定義事件.trigger()和.triggerHandler()