背景:做chrome 扩展插件需要修改原网页中input输入框的值同时要让其双向绑定的数据也发生改变,由于原网页使用的是框架,也没有源码,只能通过js的dispatchEvent方法直接触发input绑定的方法
这里获取dom元素用的是jq方法,后面加上[0]是因为$(‘dom元素’)获取的是dom对象,需要转成jq对象才能调用方法
var event = new InputEvent('input',{bubbles: true})
$('dom元素')[0].dispatchEvent(event)
需要注意初始化 event 的方法 是 new InputEvent(‘input’,{bubbles: true}) 如果不行,网上还有其他的可以一试,如 var event = new Event(‘input’) 类似这样,只不过,那些方法在我这种情况起不了作用,或许不同情况用的方法不同呢。

本文介绍如何在Chrome扩展插件中,通过JS的dispatchEvent方法直接触发input元素的事件,实现修改输入框值并更新其绑定数据的效果。特别关注在无法获取源码的情况下,对框架内input元素的操作。
6066

被折叠的 条评论
为什么被折叠?



