javascript - 使用chrome扩展在knockout js页面上触发(表单)更改事件

标签 javascript jquery knockout.js google-chrome-extension

我正在尝试创建一个 Chrome 扩展程序,可以在某个网站上填写表单。

在网站上,您需要提供您的电子邮件地址,系统会在数据库中检查该帐户是否存在,并且只要帐户存在,就会显示密码字段。

现在,我正在尝试使用 chrome 扩展来自动填充电子邮件地址,并且我正在使用 jQuery 来完成此操作:

$('#emailAddress').val('email@example.com').change();

但这不会触发页面上的事件。经过一番搜索,我发现该事件发生在knockoutjs上,经过一番搜索,我发现在knockout之前加载jQuery时,可以让jQuery触发knockoutjs事件。

有人知道我如何在 Chrome 扩展中实现这一目标吗?

提前致谢。

最佳答案

归功于此问题的第二个答案 ( Triggering a click event from content script - chrome extension )

jQuery 的点击触发函数不会触发非 jQuery DOM 点击监听器。

我们必须在 javascript 对象上分派(dispatch)一个事件,如下所示:

$(css_selector)[0].dispatchEvent(new MouseEvent("click"))

干杯!!

关于javascript - 使用chrome扩展在knockout js页面上触发(表单)更改事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23391594/

相关文章:

javascript - 变换比例时如何检查元素是否在视口(viewport)之外

javascript - knockout中订阅的函数如何取消订阅?

javascript - Timeago + DateJS = NaN

javascript - 请验证此代码给我一个建议?

javascript - POST - 发布时 - Jquery - 不是 AJAX

javascript - 使用 stagePadding 分隔元素

javascript - 使用 Knockout.js 在网格中创建依赖下拉列表

javascript - 使用嵌套循环更新 ViewModel knockout

javascript - 获取范围 slider 输入的宽度

javascript - Angular js - json 上的简单循环不起作用