jQuery运行函数onload和key up

时间:2012-06-01 08:23:04

标签: javascript jquery function

我有以下内容,我想在页面加载时第一次运行。然后我希望它在用户进行更改时在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

4 个答案:

答案 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