2012-11-01 13 views
17

Tôi đang cố sử dụng jQuery-File-Upload plugin. Nhưng tôi có một vấn đề khi thực sự cố gắng gọi hàm. Một nơi nào đó trong mã của tôi, tôi sẽ gọi $ (fubar) .fileupload và nhận được Uncaught TypeError: Object #<Object> has no method '_on' jquery.fileupload.js:977. Bây giờ điều này xảy ra sau khi trang và tất cả các tập lệnh js đã được tải.Lỗi tải lên tệp JQuery: Lỗi loại không được thực hiện: Đối tượng # <Object> không có phương thức '_on'

A) A similar error is discussed trong bảng công cụ. Tôi đã thử kỹ thuật bao gồm jquery.fileupload.js ngay sau khi tải dom. Tôi đã thử kỹ thuật, với thứ gì đó như dưới đây.

<script src='/static/presentation/js/lib/jquery.fileupload.js'></script> 
    <script src='/static/presentation/js/lib/jquery.iframe-transport.js'></script> 
</body> 

Nhưng khi tải trang, tôi nhận được một lỗi Uncaught Error: Mismatched anonymous define() module: function ($) {....

B) Trên tài liệuReady, tôi thậm chí đã thử tạo động và bao gồm các thẻ tập lệnh, trong đầu. Nhưng tôi nhận được cùng một lỗi Uncaught Error: Mismatched anonymous define() module: function ($) {....

Tôi đang sử dụng jquery-file-upload với requirejs. Tôi chỉ mang lại cho rằng tôi đã thử nghiệm ra khỏi thư viện và nhận nó làm việc với một trang web tĩnh đơn giản. Chỉ các tệp thư viện js cơ bản. Vì vậy, tôi không biết điều gì gây ra điều này. Nhưng nó dường như không liên quan đến DOM.

Mọi trợ giúp đều được đánh giá cao.

+0

Bạn đã bao gồm tệp jQuery ở địa điểm đầu tiên chưa? –

+0

Có (câu hỏi công bằng). Tải tập lệnh JQuery là abouve plugin jquery-file-upload. – Nutritioustim

+0

Ok, tôi đã tìm ra. Xem bên dưới ... – Nutritioustim

Trả lời

25

Ok, tôi đã tìm ra. Tôi chỉ cần bao gồm jquery.fileupload.js sau jquery.ui.widget.jsjquery.iframe-transport.js. Ít nhất tôi biết để tham khảo trong tương lai.

<script src='/static/presentation/js/lib/jquery.ui.widget.js'></script> 
<script src='/static/presentation/js/lib/jquery.iframe-transport.js'></script> 
<script src='/static/presentation/js/lib/jquery.fileupload.js'></script> 
+1

Tôi đang viết một tiện ích mở rộng dựa trên plugin Tải lên tệp jQuery cho khung công tác Yii và có lỗi tương tự do tôi không bao gồm 'jquery.ui.widget.js'. Mặc dù trên trang demo của plugin mà người ta có thể thấy trong phần bình luận rằng "Nhà máy phụ tùng jQuery UI, có thể được bỏ qua nếu jQuery UI đã được đưa vào". Nó không đúng, ít nhất là cho jQuery UI 1.8.22 đó là đến với Yii 1.1.12. – Ezze

+0

Tôi tự hỏi làm thế nào đây là giải pháp vì tôi đã có cùng một vấn đề tôi cố định nó quá giống như bạn nhưng trong trang demo của họ tập tin JS của họ nằm rải rác ở khắp mọi nơi và "tải lên" của họ không ném bất kỳ lỗi nào. –

-1

Với phiên bản mới nhất blue imp Tôi chỉ thay đổi jquery.ui.widget.js bằng jquery-ui-1.9.2.custom.min.js và nó hoạt động tốt. Hy vọng điều này giúp một người nào đó mắc kẹt với điều này.

0

Đảm bảo bạn đang chạy các phiên bản bổ sung của jQuery và jQuery UI và chỉ có một bản sao của jQuery. Tôi nhận ra rằng tôi đã chạy jquery-rails ở 1.10 và một tệp jQuery 1.11 cục bộ, và loại bỏ cái sau và nâng cấp cái cũ đã làm thủ thuật.