jQuery之trigger()方法

trigger(type,[data]) ,其中参数data为可选项,以数组的形式传递。
1.直接用来触发浏览器默认操作比如,click,change等事件。

jQuery('#btn').trigger('click');

2.在使用trigger后,如果要执行回调函数,可以使用data来实现回调执行。

3.trigger()方法触发事件后,会执行浏览器默认操作。这个对于自己绑定的事件方法也会继续执行,ex:
//$('#select').trigger('change'); $('#select').on('change',function(){ window.locatin.reload(); }) //$('#select').trigger('change');

这里有有个顺序问题,第一个trigger运行的时候,不会加载reload,它只会加载浏览器默认的select事件。而第二就会加载自己写的reload事件。如果没有弄清楚这个问题,很容易造成误解,为什么我定义了trigger事件,为什么触发不了。
【jQuery之trigger()方法】4.trigger的加载也会出现冒泡问题。原因在jQuery1.3中新定义了一些内容。(所有的触发事件都会冒泡到DOM树上)。举例来说,如果你在一个段落上触发一个事件,他首先会在这个元素上触发,其次到父元素,再到父元素的父元素,知道触发到document对象。你可以用stopPropagation()来阻止冒泡,或者简单点,直接在处理函数中返回 false即可。(return false 很实用)

    推荐阅读