2012-06-01 4 views
5

私は次のことがあります。ページが読み込まれるときに初めて実行したいのですが。それから、ユーザーが変更を加えたときにキーアップを実行したいと思います。私が実行したい機能は非常に大きい(ここに投稿するために削除されている)ので、関数を複製したくない。関数onloadを呼び出してキーアップで再利用する方法はありますか? keyUpイベントがトリガーされますとき...つまり、ページの読み込みが完了した最初の時間と呼ばれるjQuery関数のロードとキーアップ

keyupfunction():あなたは

$(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

受け入れてあなたが欲しい情報を得た場合、それをマークすることを忘れてはいけない... –

答えて

1

あなたが複数の場所で機能を使用する場合、それは匿名にしないこの

$(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​​​ 
+0

ありがとう素晴らしい作品。 – Bocker

5

簡単な方法は、関数を作成し、両方からそれを呼び出すことですありがとうプログラミング言語で関数を使用する目的全体。

$(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 
2

あなたは負荷に一度のイベントを引き起こす可能性があります。

$("td, input").keyup(
    function(){ 
    var col_1revenue = $(".Col1Receipts, .Col1Receipts input").sum(); 
    } 
).keyup(); 
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 
+0

なぜか分かりませんが、これはうまくいきませんでした – Bocker

関連する問題