【发布时间】:2021-08-22 07:11:38
【问题描述】:
我想写一个可以自动填充密码的chrome扩展。代码如下:
//get the account
document.querySelector("input[type=text]").addEventListener('input', () => {
fillPassword();
})
function fillPassword() {
let password = '';
// some operation to get password
document.querySelector("input[type=password]").value = password
}
一切正常,密码已获得并正确“设置”,期待登录。当我单击登录按钮时,它会通知我“密码不能为空”。所以这是我的想法。
由于网站是vue写的,没有触发change事件,登录表单中也没有设置密码。所以我现在的问题是如何触发 input 的 change 事件,让它的值可以被 vue 正确的捕获。
我试图验证我的想法,所以我在密码输入中添加了一个监听器。
//get the account
document.querySelector("input[type=text]").addEventListener('input', () => {
fillPassword();
})
document.querySelector("input[type=password]").addEventListener('change', () => {
console.log('changed')
})
function fillPassword() {
let password = '';
// some operation to get password
document.querySelector("input[type=password]").value = password
}
并且没有预期的打印。然后我尝试触发change事件,但是好像不行。
const e = new Event("change");
const element = document.querySelector("input[type=password]")
element.value = password;
element.dispatchEvent(e);
【问题讨论】:
-
@Ravi Ashara 我不是这个意思。你能说得更具体点吗?
标签: javascript vue.js