jquery - 如何在角度输入字段上使用jquery触发输入按键
问题描述
我们正在尝试在 Angular 内置的 3rd 方网站上实现一个 Tampermonkey 脚本。
我们想在输入中输入一个 order_id,然后触发击键 enter(13)。第一部分工作正常,但似乎无法触发 enter 击键。
有没有人对此和/或提示有任何经验?
// ==UserScript==
// @name Bol order finder
// @namespace http://tampermonkey.net/
// @version 0.1
// @description try to take over the world!
// @author You
// @include https://partner.bol.com/sdd/outbound-orders/open/FBR?order=*
// @grant none
// @require http://code.jquery.com/jquery-3.4.1.min.js
// ==/UserScript==
(function() {
'use strict';
setTimeout(() => {
//Take orderId from query params
let orderArray = window.location.search.split('?')[1].split('=');
//Insert queryparams into input
$($('[data-test=search-box]')[0].shadowRoot).find('input').val(orderArray[1]);
//Focus the element
$($('[data-test=search-box]')[0].shadowRoot).find('input').focus();
setTimeout(() => {
var ev = new CustomEvent('input');
//Trigger input so angular knows the content has changed.
$($('[data-test=search-box]')[0].shadowRoot).find('input')[0].dispatchEvent(ev);
setTimeout(() => {
ev = new CustomEvent('keypress');
ev.which = ev.keyCode = 13;
//Trigger enter on input field
$($('[data-test=search-box]')[0].shadowRoot).find('input')[0].dispatchEvent(ev);
},1000)
},1000);
},4000);
})();
解决方案
推荐阅读
- python - Python,安全地存储root密码
- c++ - 在无向和未加权图中找到每对节点之间的最短路径的最佳方法是什么?
- html - HTML 链接不会改变它们的宽度
- python - 错误 pd.pivot “MultiIndex.name 必须是可散列类型”
- macos - 在 macOS 上使用 pyodbc、FreeTDS 和 Kerberos 身份验证连接到 SQL Server
- python - specutils可以用于拟合光谱吗
- java - 如何删除仅包含内容 uri 的文件?
- javascript - 如何在我的 Web 应用程序中嵌入 TKinter 动画?
- arrays - 如何编写内部数组长度不同的嵌套数组?
- php - Laravel 工厂使用自定义创建方法