2013-01-16 36 views
16

Tôi gặp một số khó khăn khi thực hiện công việc jquery-ui draggable. Tôi sẽ chia sẻ với bạn giải pháp của tôi, đây là giải pháp tốt nhất?Lỗi jquery-ui draggable Không thể đọc thuộc tính 'msie'

Tôi chỉ cần chèn mục này để kiểm tra trước khi bắt đầu công việc thực sự của mình.

<script src="http://code.jquery.com/jquery-latest.js"></script> 
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.24/jquery-ui.min.js"></script> 

$('img').draggable(); 

Giống như ở đây: http://jsbin.com/eqowet/2/

Nhưng tôi có một lỗi:

Error: Uncaught TypeError: Cannot read property 'msie' of undefined.

+0

bạn có thể nâng cấp lên phiên bản mới nhất của jQueryUI (lên đến 1.10.0 bây giờ) – Ascherer

Trả lời

5

tôi cố gắng rất nhiều ví dụ nhưng tất cả không hoạt động, chỉ cần cùng một thông điệp, rằng tôi nhận ra phiên bản 1.8.24 không tương thích với phiên bản jQuery cuối cùng. Tôi đã thay đổi cho nó và voilà đang làm việc ngay bây giờ.

<script src="http://code.jquery.com/jquery-1.8.3.min.js"></script> 

Giống như ở đây: http://jsbin.com/eqowet/3/

33

MSIE là cờ trên jQuery.browser tài sản

jQuery.browser đã bị phản đối kể từ phiên bản 1.3 và được loại bỏ trong jQuery 1.9.0

Vì bạn đang sử dụng phiên bản mới nhất của jQuery được lưu trữ, thư viện của bạn được tự động nâng cấp lên 1.9.0 do đó có lỗi.

Như bạn đã nhận ra, hoàn nguyên về phiên bản 1.8.3 (hoặc phiên bản cũ hơn) khắc phục sự cố; tuy nhiên, giải pháp thực sự là ngừng sử dụng jQuery.browser

+15

jQueryUI đang sử dụng jQuery. trình duyệt, không phải anh ta – Ascherer

+1

@Ascherer Tôi chỉ giải thích gốc rễ của vấn đề, có thể hữu ích cho những người khác –

+3

yeah, jqueryui 1.10 không sử dụng nó nữa – Ascherer

0

Tôi gặp lỗi này đối với phiên bản di động jquery cũ hơn. Nếu bạn đang sử dụng một JQM cũ, bạn cần phải cập nhật. Nếu bạn đang ở trên Rails bạn có thể sử dụng jquery https://github.com/tscolari/jquery-mobile-rails

Nếu bạn sử dụng đường ray đá quý ngay bây giờ, hãy chắc chắn để có được 1.3 beta 1 để có được sửa chữa này:

gem 'jquery_mobile_rails', "~> 1.3.b1" 
0

Got những lỗi tương tự với "sắp xếp được". Vì vậy, hãy đảm bảo rằng tất cả các tập lệnh phụ thuộc đều được bao gồm, cũng phải là chuỗi đúng.

jquery.min.js 
jquery.ui.core.js 
jquery.ui.sortable.min.js 

Ví dụ để làm cho nó làm việc trên Joomla bạn có thể làm như thế này:

$doc =& JFactory::getDocument(); 
$doc->addScript('/media/jui/js/jquery.min.js'); 
$doc->addScript('/media/jui/js/jquery.ui.core.js'); 
$doc->addScript('/media/jui/js/jquery.ui.sortable.min.js'); 
Các vấn đề liên quan