Tôi có rất nhiều chức năng và trình xử lý sự kiện được phân tách trên nhiều tệp javascript được bao gồm trên các trang khác nhau trong toàn bộ trang web của tôi.Kỹ thuật để nhóm mã javascript
Vì lý do hiệu suất, tôi muốn kết hợp tất cả các tệp đó thành 1 tệp toàn cầu trên trang web.
Vấn đề là tôi sẽ có trình xử lý sự kiện được gọi trên các phần tử không nhất thiết phải tồn tại và có cùng tên hàm.
Đây là một ví dụ về một tập tin javascript điển hình ...
$(document).ready(function(){
$('#blah').keypress(function(e){
if (e.which == 13) {
checkMap();
return false;
}
});
});
function checkMap() {
// code
}
function loadMap() {
// code
}
tôi sẽ cần phải tách mã này vào một đối tượng đó được gọi là trên trang đó cụ thể.
những suy nghĩ của tôi là tôi có thể viết lại nó như thế này:
(function($) {
$.homepage = {
checkMap: function(){
// code
},
loadMap: function(){
//code
}
};
})(jQuery);
Và sau đó trên trang đó đòi hỏi nó, tôi có thể gọi $.homepage.checkMap()
, vv
Nhưng sau đó thế nào tôi sẽ tuyên bố xử lý sự kiện như document.ready
mà không chứa nó trong chức năng riêng của nó?
Bất kỳ lời khuyên nào về thực tiễn tốt nhất sẽ là tuyệt vời, cảm ơn!
những gì bạn có ý nghĩa bởi (làm thế nào tôi sẽ sử dụng bộ xử lý sự kiện document.ready?) – mgraph
Bạn đang đi đúng hướng. Bạn có thể đặt các trình xử lý ở dưới cùng của tài liệu để tránh document.ready – dotoree
Xin lỗi tôi có nghĩa là tôi muốn gọi 'document.ready' trong tập lệnh chứ không phải trên chính trang đó, nhưng tôi sẽ phải đặt nó theo một cách riêng biệt trong '$ .homepage' đúng không? Có cách nào để tạo ra một hàm xây dựng bằng cách sử dụng phương pháp này mà không cần phải gọi nó? – fire