Javascript 使用jQuery在文本输入上触发向下键,在事件后保留值

Javascript 使用jQuery在文本输入上触发向下键,在事件后保留值,javascript,jquery,angularjs,tampermonkey,Javascript,Jquery,Angularjs,Tampermonkey,在angularjs站点上使用Tampermonkey。 每当我打开url时,我都会用一个值预先填充一个inputbox,但搜索是通过键入来触发的。所以我需要一个按键事件ie空间来触发搜索 我已经知道如何触发keydown事件,但它会覆盖inputbox中已经存在的值。 如何在仍然触发按键按下的情况下保留它 我之所以使用延迟是因为加载页面需要一些时间。每次运行keydown事件时,旧值都会被清除并替换为新字符串。fromCharCode字符 //Try this (function() { 'u

在angularjs站点上使用Tampermonkey。 每当我打开url时,我都会用一个值预先填充一个inputbox,但搜索是通过键入来触发的。所以我需要一个按键事件ie空间来触发搜索

我已经知道如何触发keydown事件,但它会覆盖inputbox中已经存在的值。 如何在仍然触发按键按下的情况下保留它


我之所以使用延迟是因为加载页面需要一些时间。

每次运行keydown事件时,旧值都会被清除并替换为新字符串。fromCharCode字符

//Try this
(function() {
'use strict';

var herId = getParameterByName('Q');
window.setTimeout(function() {
    var el = document.querySelector('.form-control');
    el.value = herId;
}, 200);

window.setTimeout(function() {
    var e = jQuery.Event("keydown");
    e.which = 32; // # Some key code value

    $("input").val($(this).val() + String.fromCharCode(e.which));
    $("input").trigger(e);
}, 1600);
})();

function getParameterByName(name, url) {
   if (!url) url = window.location.href;
   name = name.replace(/[\[\]]/g, "\\$&");
   var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)"),
   results = regex.exec(url);
   if (!results) return null;
   if (!results[2]) return '';
   return decodeURIComponent(results[2].replace(/\+/g, " "));
}
//Try this
(function() {
'use strict';

var herId = getParameterByName('Q');
window.setTimeout(function() {
    var el = document.querySelector('.form-control');
    el.value = herId;
}, 200);

window.setTimeout(function() {
    var e = jQuery.Event("keydown");
    e.which = 32; // # Some key code value

    $("input").val($(this).val() + String.fromCharCode(e.which));
    $("input").trigger(e);
}, 1600);
})();

function getParameterByName(name, url) {
   if (!url) url = window.location.href;
   name = name.replace(/[\[\]]/g, "\\$&");
   var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)"),
   results = regex.exec(url);
   if (!results) return null;
   if (!results[2]) return '';
   return decodeURIComponent(results[2].replace(/\+/g, " "));
}