js手动触发页面元素点击事件,程序触发,自定义点击事件模拟点击

页面有时候的使用场景需要手动控制某个元素响应点击事件,可以达到不直接点击元素来响应事件,这里可以使用element.dispatchEvent(),在使用element.dispatchEvent()派发事件前需要做两步操作。

一、创建事件MouseEvents()

var clickEvent = document.createEvent('MouseEvents')

使用document.createEvent()函数创建事件,内部参数有三个,HTMLEvents、MouseEvents、UIEvents,这里我们选择MouseEvent。

二、初始化事件initEvent()

clickEvent.initEvent('click', false, false)

对创建好的MouseEvents进行初始化事件,该方法有15个参数:

  1. type [string]: 触发的事件类型,如"click"
  2. bubbles [bool]:事件是否冒泡,一般设置为true
  3. cancelable [bool]:事件是否可以取消。一般设为true

更多请查阅js文档。

三、进行事件派发调用

element.dispatchEvent(clickEvent)

连起来使用

var clickEvent = document.createEvent('MouseEvents')
clickEvent.initEvent('click', false, false)
element.dispatchEvent(clickEvent)

封装成一个函数进行模拟点击操作。

你可能感兴趣的:(element,js,javascript,html,前端)