我有以下内容,我想在页面加载时第一次运行。然后我希望它在用户进行更改时在keyup上运行。我想要运行的功能非常大(在这里发布时被删除)所以我不想复制该功能。有没有办法调用函数onload然后在keyup上重用它?谢谢
$(document).ready(function() {
// this calculates the sum for some text nodes
$("td, input").keyup(
function (){
var col_1revenue = $(".Col1Receipts, .Col1Receipts input").sum();
} // function
); // keyup
}); // document ready
答案 0 :(得分:5)
一种简单的方法是创建一个函数,然后从两个函数调用它:
第一次页面加载完成以及keyup事件被触发时调用 keyupfunction()
...这就是在编程语言中使用函数的全部目的。
$(document).ready(function() {
keyupfunction(); //first call
// this calculates the sum for some text nodes
$("td, input").keyup(keyupfunction); // keyup
}); // document ready
常用功能
function keyupfunction(){
var col_1revenue = $(".Col1Receipts, .Col1Receipts input").sum();
} // function
答案 1 :(得分:2)
您可以在加载时触发事件。
$("td, input").keyup(
function (){
var col_1revenue = $(".Col1Receipts, .Col1Receipts input").sum();
}
).keyup();
答案 2 :(得分:2)
试试这个
$(document).ready(function() {
XX();
// this calculates the sum for some text nodes
$("td, input").keyup(XX); // keyup
function XX() {
var col_1revenue = $(".Col1Receipts, .Col1Receiptsinput").sum();
} // function
}); // document ready
答案 3 :(得分:0)
如果要在多个位置使用某个功能,请不要将其设为匿名。匿名函数很难重用(在某些情况下,您仍然可以通过callee
(不建议使用)等重用它们。)
改为命名函数。将其保持在ready
范围内以便清洁:
$(document).ready(function() {
// this calculates the sum for some text nodes
function myfunc(){
var col_1revenue = $(".Col1Receipts, .Col1Receipts input").sum();
//etc
//etc
} // function
$("td, input").keyup(myfunc); // keyup
myfunc()//call function;
}); // document ready