2012-11-28 37 views
6

Tôi hiện đang di chuyển một số mã từ 1.8 đến 1.9.2 và tôi đang đối mặt với tình huống các widget bị hủy trước khi được khởi tạo. Ví dụ, sau đây có thể bị lỗi (ném một ngoại lệ) bây giờ trong 1.9.2: có cách nào tôi có thể kiểm tra các cuộc gọi được càng tốt:jQueryUI 1.9: cách kiểm tra widget đã được khởi tạo (không thể gọi phương thức trước khi khởi tạo)

$div.buttonset("destroy") 
+0

$ div.filter ('.ui-buttonset'). Buttonset ("destroy"); – phazei

Trả lời

1

Ít nhất cho phụ tùng hộp thoại, bạn có thể sử dụng div.is(":ui-dialog"). Lưu ý rằng với giao diện người dùng JQuery 1.10.1, if (div.data("dialog")) cũ không hoạt động (ít nhất là đối với tôi).

3

Bạn có thể kiểm tra sự tồn tại của tiện ích bằng cách sử dụng $ element.data ("tên tiện ích con") sau đó gọi những gì bạn muốn.

Tên riêng của tiện ích con là không gian tên + dấu gạch ngang + tên plugin. Ví dụ: ui-tab, ui-dialog, v.v.

Trong dự án của tôi, tôi có một tiện ích có tên đầy đủ là mediaProPro.player. Tên đúng để chuyển sang cuộc gọi dữ liệu là "mediaITPro-player".

Các dòng sau không được công việc cho tôi:

if (p.data("mediaITPro-player")) p.player("destroy"); 

Tôi hy vọng điều này sẽ giúp.

P.S. Tài liệu về quy ước đặt tên cho .data gọi http://jqueryui.com/upgrade-guide/1.9/#changed-naming-convention-for-data-keys

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