MCPcopy
hub / github.com/hotwired/stimulus / triggerEvent

Method triggerEvent

src/tests/cases/dom_test_case.ts:36–52  ·  view source on GitHub ↗
(selectorOrTarget: string | EventTarget, type: string, options: TriggerEventOptions = {})

Source from the content-addressed store, hash-verified

34 }
35
36 async triggerEvent(selectorOrTarget: string | EventTarget, type: string, options: TriggerEventOptions = {}) {
37 const { bubbles, setDefaultPrevented } = { ...defaultTriggerEventOptions, ...options }
38 const eventTarget = typeof selectorOrTarget == "string" ? this.findElement(selectorOrTarget) : selectorOrTarget
39 const event = document.createEvent("Events")
40 event.initEvent(type, bubbles, true)
41
42 // IE <= 11 does not set `defaultPrevented` when `preventDefault()` is called on synthetic events
43 if (setDefaultPrevented) {
44 event.preventDefault = function () {
45 Object.defineProperty(this, "defaultPrevented", { get: () => true, configurable: true })
46 }
47 }
48
49 eventTarget.dispatchEvent(event)
50 await this.nextFrame
51 return event
52 }
53
54 async triggerMouseEvent(selectorOrTarget: string | EventTarget, type: string, options: MouseEventInit = {}) {
55 const eventTarget = typeof selectorOrTarget == "string" ? this.findElement(selectorOrTarget) : selectorOrTarget

Calls 1

findElementMethod · 0.95

Tested by

no test coverage detected