Tôi đang xây dựng một plugin jQuery tùy chỉnh cho một dự án tôi đang làm việc trên. Tôi muốn trả lại một đối tượng tùy chỉnh cho một plugin jQuery ... thay vì phải đảm bảo rằng mỗi trang sử dụng plugin của tôi cũng có plugin này, có thể đưa nó vào trong plugin thực tế không?Làm thế nào để bao gồm một plugin bên ngoài bên trong của một plugin jQuery được tác giả
Thay vì gõ như sau trên mỗi trang có sử dụng plugin của tôi:
<script type="text/javascript" src="url_to_my_plugin" />
<script type="text/javascript" src="url_to_plugin" />
tôi muốn để xem nếu có là một lựa chọn mà sẽ cho phép một cái gì đó như:
(function($) {
$.include('url_to_plugin');
//code to implement my plugin
})(jQuery);
Cảm ơn đã gợi ý Marko ... Tôi có thể làm điều gì sai vì plugin tôi đang tham chiếu không được công nhận. Dưới đây là mã của tôi:
(function($) {
var script = document.createElement('script');
script.type = 'text/javascript';
script.src = 'jquery.simplemodal.js'; //in same dir as my plugin
//tried both
document.body.appendChild(script);
document.getElementsByTagName('head')[0].appendChild(script);
$.fn.SUI_CheckProgress = function(options) {
return this.each(function() {
var obj = $(this);
var nDiv = $('<div>');
nDiv.modal(); //error nDiv.modal() is not a function
$(obj).append(nDiv);
}
};
});
Tôi đã cố gắng khai báo tập lệnh cả bên trong và bên ngoài cuộc gọi hàm thực tế (lý tưởng cho nó xảy ra trên toàn cầu). Tôi đã xác minh mã thực thi chính xác nếu tôi tham chiếu tập lệnh trong trang mà tôi đang gọi, tuy nhiên khi tôi xóa tham chiếu, mã sẽ không thành công. Bất kỳ thông tin bổ sung nào về cách thêm các tập lệnh theo chương trình vào một trang sẽ được đánh giá cao.
Đã sửa lỗi: Vấn đề của tôi là tôi đã tham chiếu cùng thư mục với plugin js, tuy nhiên khi nó được thêm vào trang nằm ngoài thư mục đó.
là
script.src = 'jquery.simplemodal.js';
cố định
script.src = 'js/jquery.simplemodal.js';
Bạn không cần phải làm 'obj' thành một jquery đối tượng hai lần ... sử dụng 'obj.append (nDiv)' – Mottie
thực sự là do cuộc gọi được nhúng bên trong một cuộc gọi ajax, tôi đã để lại công cụ ajax ra tho để đơn giản hóa. – jon3laze