5

私は、ページがロードされたときに初めて実行したい次のものを持っています。次に、ユーザーが変更を加えたときにキーアップで実行したいと思います。実行したい関数は非常に大きいため (ここに投稿するために削除されています)、関数を複製したくありません。関数 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

4 に答える 4

5

簡単な方法は、関数を作成し、両方から呼び出すことです。

keyupfunction()ページの読み込みが初めて完了したとき、および keyup イベントが発生したときに呼び出されます...これが、プログラミング言語で関数を使用する全体の目的です。

$(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
于 2012-06-01T08:25:24.260 に答える
3

これを試して

$(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​​​
于 2012-06-01T08:27:06.430 に答える
2

ロード時に一度イベントをトリガーできます。

$("td, input").keyup(
  function (){
    var col_1revenue = $(".Col1Receipts, .Col1Receipts input").sum(); 
  } 
).keyup();
于 2012-06-01T08:26:28.793 に答える
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
于 2012-06-01T08:27:41.677 に答える