2010-08-05 52 views
6

Có thể không? Không có vấn đề làm thế nào, trong Javascript hoặc jQuery.Kiểm tra xem phương thức jQuery có tồn tại

Ví dụ: $.isFunction($.isFunction());

UPD: Nhưng làm thế nào để kiểm tra phương pháp của một plugin jQuery? Đôi khi nó không sẵn sàng tại thời điểm nó gọi và tạo ra lỗi. Ví dụ: $.isFunction($().jqGrid.format)

Trả lời

0

Vâng,

jQuery.fn.exists = function(){return jQuery(this).length>0;} 

if ($(selector).exists()) { 
    // code........ 
} 
7

Để vượt qua một chức năng để chức năng khác, rời khỏi () off:

$.isFunction($.isFunction); // true! 

Khi bạn viết () bạn đang gọi chức năng, và sử dụng kết quả nó trả về. $.isFunction() không có đối số trả về false (vì undefined không phải là hàm), do đó, bạn đang nói $.isFunction(false), tức là, cũng là false.

Tôi sẽ không bận tâm sử dụng isFunction chỉ để kiểm tra sự tồn tại của một cái gì đó, trừ khi bạn nghi ngờ rằng ai đó có thể đã gán một giá trị không chức năng cho nó vì một lý do nào đó. Để kiểm tra sự tồn tại thuần túy, hãy sử dụng toán tử in:

if ('isFunction' in $) { ... 
Các vấn đề liên quan