之前在做google拓展程序的时候,需要把程序嵌入到其他平台的页面。需求需要触发平台页面上某个按钮的click事件。
1.直接触发
//点击事件
$(this).click()
//input赋值
$('input').val("123")
当使用第一种方式触发触发不了的情况下,使用了第二种方式
2.createEvent()
createEvent() 方法创建新的 Event 对象。
//click
let event = document.createEvent('HTMLEvents');
event.initEvent('click', true, true);
$(".btn").dispatchEvent(event)
//input赋值
let event = document.createEvent('HTMLEvents');
event.initEvent('input', true, true);
$("input").dispatchEvent(event )
3.trigger()
这一点不算是赋值,trigger() 方法触发被选元素的指定事件类型。例如:
(1)触发btn的点击事件
(2)模拟键盘事件
//触发btn的点击事件
let e = $.Event("click");//模拟一个键盘事件
$('.btn').trigger(e)//模拟页码框按下回车
//触发input框的enter事件
let e = $.Event("keypress");//模拟一个键盘事件
e.keyCode = 13;//keyCode=13是回车
$('input').trigger(e)//模拟页码框按下回车