2010-04-17 35 views
7

Tôi muốn chuyển sang chức năng jQuery một chức năng thông thường, thay vì chức năng ẩn danh thông thường, nhưng tôi không chắc chắn một điều như thế có thể được thực hiện như thế nào.Vượt qua một hàm làm tham số trong jQuery?

Thay vì điều này:

function setVersion(feature) { 
     $.post("some.php", { abc:"abc" }, 
     function(data){ 
     // do something here 
     }, "json"); 
} 

Tôi muốn làm điều này:

function foo(data){ 
    // do something here 
} 

function setVersion(feature) { 
     $.post("some.php", { abc:"abc" }, foo, "json"); 
} 

Cảm ơn bạn.

+9

Ummm ... chạy điều đó. – harpo

+2

Đúng. Điều đó sẽ hoạt động chính xác như bạn muốn. Hãy thử nó;) –

+0

LOL, tệ lắm, tôi đã cố gắng chạy '" foo "', không bận tâm chạy nó như chỉ 'foo' ... Và sau đó tôi quên" "trong câu hỏi :) Tôi cần ngủ một chút !!! – thedp

Trả lời

12

Vâng, đã hoạt động. Nhưng bạn muốn nó có thể trông giống như thế này:

function setVersion(feature, myFunction) { 
     $.post("some.php", { abc:"abc" }, myFunction, "json"); 
} 
setVersion(blah, foo); 
1

Vâng, đó chính xác là cách bạn thực hiện.

2

Nên chạy tốt.

Tôi tin rằng jQuery thực sự có nghĩa là sử dụng chức năng thông thường, được gọi theo tên. Sử dụng hàm ẩn danh chỉ đơn giản là một sự thay thế cho một hàm được đặt tên mà nếu không sẽ được truyền đi.

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