Tôi đang sử dụng RequestJS và cần khởi tạo một thứ gì đó trên DOM đã sẵn sàng. Bây giờ, RequestJS cung cấp domReadyplugin , nhưng chúng tôi đã có jQuery $(document).ready(), có sẵn cho tôi vì tôi yêu cầu jQuery.
Vì vậy, tôi có hai lựa chọn:
Sử dụng
domReadyplugin:require(['domReady'], function (domReady) { domReady(function () { // Do my stuff here... }); });Sử dụng
$(document).ready():$(document).ready(function() { // Do my stuff here... });
Tôi nên chọn cái nào, và tại sao?
Cả hai tùy chọn dường như hoạt động như mong đợi. Tôi không tự tin vào jQuery của bởi vì RequiJS đang làm điều kỳ diệu của nó; nghĩa là, vì RequiJS sẽ tự động thêm các tập lệnh, tôi lo rằng DOM sẵn sàng có thể xảy ra trước khi tất cả các tập lệnh được yêu cầu động được tải. Trong khi đó, RequestJS sẽ thêm gánh nặng về JS bổ sung chỉ domReadykhi tôi đã có yêu cầu jQuery.
Câu hỏi
- Tại sao RequestJS cung cấp một
domReadyplugin khi chúng ta có thể có jQuery$(document).ready();? Tôi không thấy bất kỳ lợi thế nào của việc bao gồm một phụ thuộc khác. - Nếu nó chỉ để đáp ứng nhu cầu, thì tại sao không cung cấp một cái cho AJAX trên nhiều trình duyệt?
Theo như tôi biết, một mô-đun yêu cầu domReadysẽ không được tìm nạp hoặc thực thi sau khi tài liệu đã sẵn sàng và bạn cũng có thể thực hiện tương tự với yêu cầu jQuery:
require(['jQuery'], function ($) {
$(document).ready(function () {
// Do my stuff here...
});
});
Để rõ ràng hơn về câu hỏi của tôi: sự khác biệt giữa yêu cầu domReadyhoặc là jQuerygì?
scriptcác thẻ của mình hay bạn đang viết một thư viện / trình cắm mà người khác sẽ sử dụng (và do đó, họ kiểm soát vị trí của các scriptthẻ trong phần đánh dấu)?
I am not confident in jquery's dom ready because requirejs is doing its magic.Vì, request đang đóng gói jquery trong phạm vi cục bộ hạn chế. Đó không phải là vấn đề. (theo như câu hỏi có liên quan).
I am not confident in jquery's dom readytôi muốn đánh dấu nó như là tấn công:p