手动触发 jQuery 风暴
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
jQuery提供了手动触发风暴的方式,只要使用这种手动触发方式,就可以自己触发风暴jquery的单击事件,而不用自动触发。 它们分别是trigger()和triggerHandler()。 现在,所有触发的事件都将在 DOM 树中向上冒泡。 例如,如果在段落p上触发风暴,它会首先在该元素上触发,然后到父元素上,然后到父元素的父元素上,直到触发到文档对象。 风暴对象有一个 .target 属性,指向最初触发风暴的元素。 您可以使用 stopPropagation() 来停止风暴冒泡,或者在风暴处理函数中返回 false。
上图中的登录按钮绑定键盘点击暴风雨,鼠标点击会触发暴风雨的疗效。 见右图
当触发键盘点击风暴时,会弹出提示框。 如果使用trigger()方法,可以手动触发点击风暴。
如上图所示,如果手动触发按钮的点击事件,则无需点击即可手动触发弹窗。
triggerHandler() 这个特殊方法将触发指定风暴类型上的所有绑定处理程序。 但它不会执行浏览器的默认动作jquery的单击事件,也不会引起混乱和冒泡。
该方法的行为与触发器类似,但存在三个主要区别:
* 首先,他不会触发浏览器默认风暴。
* 其次,只有 jQuery 对象集合中的第一个元素才会触发风暴处理程序。
* 第三,该方法返回事件处理函数的返回值,而不是具有可链接性的jQuery对象。 另外,如果初始的jQuery对象集合为空,该方法返回undefined,有兴趣的可以自行尝试。 合理利用这两种方法可以尝试编写一个手动登录的效果。