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 domReady
plugin , 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
domReady
plugin: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ỉ domReady
khi tôi đã có yêu cầu jQuery.
Câu hỏi
- Tại sao RequestJS cung cấp một
domReady
plugin 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 domReady
sẽ 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 domReady
hoặc là jQuery
gì?
script
cá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 script
thẻ 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 ready
tôi muốn đánh dấu nó như là tấn công:p