重新加载时输入.val()和focus()之后的按键不起作用



我想在重新加载我的页面时,在输入中设置我的值搜索(本地存储中的股票(,然后模拟按键(类型 13(。

这是我的代码:

$( function () {
if( (localStorage.getItem("search")) &&  (sessionStorage.getItem("reloadAfterPageLoad")!="false") )   
{
$('#datatable_filter  input').val(localStorage.getItem("search")).focus().trigger(jQuery.Event('keypress', { keycode: 13, which: 13,  charCode: 13 }));

} 
});

focus(( 用作 localStorage.getItem("search"(,但我的事件从未发生过。

我已经尝试了使用 jQuery 触发按键事件的最终方法的解决方案:

$( function () {
if( (localStorage.getItem("search")) &&  (sessionStorage.getItem("reloadAfterPageLoad")!="false") )   
{
var e = jQuery.Event("keypress");
e.which = 13;
alert( "la recherche était : "+localStorage.getItem("search"));
$('#datatable_filter  input').val(localStorage.getItem("search")).focus().trigger(e);
sessionStorage.setItem("reloadAfterPageLoad", "false");
} 

而且它也不起作用。

对问题有任何想法吗? 提前感谢您的帮助

您可以将输入的键输入/更改逻辑移动到另一个函数并调用它。

$('input').keypress(function(event) {
updateTable(event);
});
function updateTable(event) {
//update the table
}
#onLoad
$(function() {
if ((localStorage.getItem("search")) && (sessionStorage.getItem("reloadAfterPageLoad") != "false")) {
$('#datatable_filter  input').val(localStorage.getItem("search")).focus();
updateTable();
}
});

最新更新