以编程方式发送按键事件

时间:2017-05-12 04:49:30

标签: angularjs google-chrome-extension firefox-webextensions

我正在自动填充以自动填充值。

我使用AngularJS this pag。当我使用$("input[name='username']").val('9999999999')复制手机号码时,不会导致更改事件被触发,其中" 获取OTP "链接应该被激活。

有时回来我问过类似的问题:How to trigger click on a button

我尝试了许多方法,例如Is it possible to simulate key press events programmatically?,但我无法让它发挥作用。

我也尝试过发送聚焦事件,然后在其中模拟鼠标点击,然后复制值,然后模拟鼠标点击其他元素等。

有什么方法可以让它发挥作用?

1 个答案:

答案 0 :(得分:0)

这是您的textChanged()函数,最初在文本更改时调用:

a.textChanged = function() {
    a.isMobCollapse = "collapse", a.username && (a.errorMsg = "", a.user.otp = "", s(a.username) && 10 == a.username.length ? (a["continue"] = "enabled", 
    a.isEmailOrMobile = "mobile") : a["continue"] = "disabled");
}

现在此函数不检查值$("input[name='username']").val(),它会检查ng-model值10 == a.username.length。这就是你的jquery代码无效的原因。

只需转移角度范围内的所有逻辑,而不是像这样设置

$("input[name='username']").val('9999999999')

像这样初始化角度模型:

a.username = '9999999999';