如何使用$(document).ready(Function)和另一个事件函数来运行Javascript/Jquery函



我不是javascript/jquery程序员,也不确定我想做的事情是否可行。

我有一个html/php/ajax表单,当用户填写它时,它会更新sql数据库。当他们填写表单时,有一个由javascript/jquery运行的进度条,它会随着用户输入的内容而更新。功能的开始看起来像这样:

$("#update input").keyup(function() {

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

我想我可以通过用$(document).ready(function()更改我最初的javascript/jquery函数来解决这个问题。这导致脚本只在加载页面时运行,而不是在填写表单时运行。我既需要脚本在页面上运行,也需要用户在输入填充时运行。有没有一种方法可以同时运行$(document).ready(function()$("#update input").keyup(function() {?或者有更好的原因来实现这一点吗?谢谢

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

这里有一种将声明函数附加到事件的通用方法。

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对象。如果没有触发事件,则该对象不存在,但是,在这种情况下,如果需要,则必须将包含所提供属性的伪事件对象传递给处理程序。

最新更新