2012-06-01 28 views
5

Tôi có những điều sau đây, mà tôi muốn chạy lần đầu tiên khi trang tải. Sau đó, tôi muốn nó chạy trên keyup khi người dùng thực hiện thay đổi. Hàm tôi muốn chạy là rất lớn (bị loại bỏ để đăng lên đây) nên tôi không muốn sao chép hàm. Có cách nào để gọi hàm onload và sau đó sử dụng lại nó trên keyup không? Cảm ơn bạnTải lên chức năng chạy jQuery và khóa lên

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

không quên để đánh dấu nó như là chấp nhận nếu bạn có những thông tin mà bạn muốn .. –

Trả lời

1

Hãy thử điều này

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

Cảm ơn bạn hoạt động tuyệt vời. – Bocker

5

Một cách dễ dàng là để tạo ra một chức năng và sau đó gọi nó từ cả hai:

keyupfunction() được gọi là lần đầu tiên tải trang hoàn thành và khi sự kiện KeyUp bị sa thải ... đó là toàn bộ mục đích của việc sử dụng một hàm trong ngôn ngữ lập trình.

$(document).ready(function() { 
     keyupfunction(); //first call 
     // this calculates the sum for some text nodes 
     $("td, input").keyup(keyupfunction); // keyup 
     }); // document ready 

chức năng phổ biến

function keyupfunction(){ 
       var col_1revenue = $(".Col1Receipts, .Col1Receipts input").sum(); 
} // function 
2

Bạn có thể kích hoạt sự kiện một lần vào tải.

$("td, input").keyup(
    function(){ 
    var col_1revenue = $(".Col1Receipts, .Col1Receipts input").sum(); 
    } 
).keyup(); 
0

Nếu bạn muốn sử dụng một chức năng ở nhiều nơi, không làm cho nó vô danh. Các chức năng ẩn danh là một nỗi đau để tái sử dụng (bạn vẫn có thể tái sử dụng chúng trong một số trường hợp nhất định qua callee (không được chấp nhận), v.v.)

Đặt tên cho hàm đó. Giữ nó bên trong phạm vi của ready phải được làm sạch:

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

Xin chào không biết tại sao nhưng điều này không hiệu quả – Bocker

Các vấn đề liên quan