我有一个jQuery委托,用于在用户添加数字时计算文本框的总和
因此,当用户选中时,总计有效。
我遇到的问题是页面加载时,如果已有值,则用户必须单击文本框并选项卡才能使总计正常工作。
我的代码是:
$body.delegate("input.actionvalue", "blur", function (e) {
}
我不确定如何在页面加载时调用此函数。
感谢您的帮助。
答案 0 :(得分:0)
为什么不把$body.delegate("input.actionvalue", "blur", function (e) { }
内的内容放在一个名为checkValues()
的函数中。 function checkValues() {
//whatever
}
$body.delegate("input.actionvalue", "blur", function (e) {
checkValues(); //this one is called onBlur
});
//this one is called when the page loads
checkValues();
喜欢这样:
{{1}}
答案 1 :(得分:0)
如果您将事件处理程序分开,则可以在页面轻松加载时调用它。
// Wait until the DOM has loaded (also keeps your variables safe from occupying the global namespace
$(function() {
function eventHandler(e) {
// The e or 'event' object will only be passed by the .on() method, so referencing it when you call the function normally will throw an error. Should you need to use the event object you can check for it first
e && e.preventDefault();
}
// Using the newer .on() method for events (delegate is deprecated in newer versions of jQuery - http://api.jquery.com/on/
$body.on("blur", "input.actionvalue", eventHandler);
// Run your handler once when the page loads
eventHandler();
});