提问者:小点点

如何使用$(document).ready(Function()和另一个事件函数运行JavaScript/jQuery函数?


我不是一个JavaScript/jQuery编码器,不确定我要做的事情是否可能。

我有一个HTML/PHP/Ajax表单,它在用户填写时更新了sql数据库。当他们填写表单时,JavaScript/jQuery会运行一个进度条,该进度条会随着用户在输入中键入内容而更新。函数的开始如下所示:

$(“#update input”)。keyup(function(){

这个很管用。我的问题是重新加载页面的时候。我的代码是从数据库中提取sql数据来填充页面上每一个有值的输入的值,这样用户以后就可以返回并完成表单了。当用户重新加载页面时,激活脚本的唯一方式是用户在输入字段中键入。

我想我可以通过使用$(document).ready(function()更改我的初始JavaScript/jQuery函数来解决这个问题。这导致脚本只在加载页面时运行,而不是在填写表单时运行。我需要同时运行page ready和用户键入填写的输入时运行脚本。有没有一种方法可以同时运行$(document).ready(function()$(“#Update input”).Keyup(function(){?或者有更好的原因来完成这个操作?谢谢!

如果需要发布更多代码,请告诉我。


共1个答案

匿名用户

下面是一个将声明的函数附加到事件的通用方法。

function handler (e) {}
element.addEventListener('click', handler);

您可以自由地在任何地方调用handler,也可以在$(document).ready中调用,或者如果您的DOMReady处理程序中没有其他代码,您可以将引用作为参数传递:

$(document).ready(handler);

在您的具体情况下,您最有可能需要以下内容:

$(document).ready(function () {
  function handler (e) {...}
  handler();
  $("#update input").keyup(handler);
});

如果处理程序函数使用事件对象(在本例中为e),那么在现代浏览器中,它也可以作为全局event对象使用,或者在jQuery中可以作为e.originalevent使用。如果没有激发事件,则该对象不存在,但是,在这种情况下,如果需要,您必须将包含所提供属性的假事件对象传递给处理程序。