# .triggerHandler()

所属分类：事件 > 绑定事件处理器 英文文档：.triggerHandler()

## .triggerHandler( eventType [, extraParameters ] )返回: Object

描述: 为一个事件执行附加到元素的所有处理程序。

- #### 添加的版本: 1.2.triggerHandler( eventType [, extraParameters ] )

  - eventType
    类型: String
    以后包含JavaScript事件类型的字符串，比如`click` 或 `submit`。
  - extraParameters
    类型: Array
    传递给事件处理程序的额外数组参数。

`.triggerHandler()` 方法的行为与 `.trigger()` 相似，不同之处有如下几点：

- `.triggerHandler()` 方法并不会触发事件的默认行为。(例如，表单提交)。
- `.trigger()` 会影响所有与 jQuery 对象相匹配的元素，而 `.triggerHandler()` 仅影响第一个匹配到的元素。
- 使用 `.triggerHandler()` 创建的事件，并不会在 DOM 树中向上冒泡。如果事件没有被目标元素直接处理，那么它就不会进行任何处理。
- 与普通的方法返回 jQuery 对象(这样就能够使用链式用法)相反，`.triggerHandler()` 返回最后一个处理的事件的返回值。如果没有触发任何事件，会返回 `undefined`。

若想了解更多关于本方法的信息，请参阅 `.trigger()` 方法。

## 例子:

#### 如果您使用 .triggerHandler() 触发 focus 事件，那么它只会触发绑定了该事件的处理函数，而浏览器的默认 focus 动作是不会被触发的。

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
    <!DOCTYPE html><html><head>  <script src="https://code.jquery.com/jquery-latest.js"></script></head><body>  <button id="old">.trigger("focus")</button><button id="new">.triggerHandler("focus")</button><br/><br/> <input type="text" value="To Be Focused"/><script> $("#old").click(function(){$("input").trigger("focus");});$("#new").click(function(){$("input").triggerHandler("focus");});$("input").focus(function(){$("<span>Focused!</span>").appendTo("body").fadeOut(1000);}); </script> </body></html>

#### Demo: