这篇翻译不完整。请帮忙从英语翻译这篇文章。
向一个指定的 EventTarget
派发一个事件(dispatches an Event
), 以合适的顺序触发受影响的 EventListener
s。(invoking the affected EventListener
s in the appropriate order) 标准事件处理规则(包括事件捕获和可选的冒泡过程)同样适用于通过手动的使用dispatchEvent()
方法派发的事件。
语法
cancelled = !target.dispatchEvent(event)
event
是要被派发的Event
事件对象。target
被用来初始化Event.target
和 决定将会触发 event listeners.- 当至少一个该事件的 event handler 调用了
Event.preventDefault()
,则返回值为false
;否则返回true
。
如果该被派发的事件的事件类型(event's type)在方法调用之前没有被经过初始化被指定,就会抛出一个 UNSPECIFIED_EVENT_TYPE_ERR
异常,或者如果事件类型(event's type)是null
或一个空字符串. event handler 就会抛出未捕获的异常(uncaught exception); 这些 event handlers 运行在一个嵌套的调用栈中(run on a nested callstack): 他们会阻塞调用直到他们处理完毕(they block the caller until they complete),但是异常不会冒泡(but exceptions do not propagate to the caller)。
注意
dispatchEvent
是event创建-初始化-派
,发
用来分发给事件模型流程实现的最后一步,(dispatchEvent
is the last step of the create-init-dispatch process, which is used for dispatching events into the implementation's event model)。 其中的事件可以通过document.createEvent 方法创建, 并通过 initEvent 或其他的,更具体的说,初始化方法初始化(or other, more specific, initialization methods),比如 initMouseEvent 或 initUIEvent。
相关链接 See also the Event object reference.
例子
See Creating and triggering events.