jQuery tại sao cần sử dụng document.ready

Câu hỏi hay đấy .
Có 1 số ít nhầm lẫn xung quanh hàng loạt lời khuyên ” đặt tập lệnh ở cuối trang của bạn ” và yếu tố nào nó nỗ lực xử lý. Đối với câu hỏi này, tôi sẽ không nói về việc đặt tập lệnh ở cuối trang có ảnh hưởng tác động đến hiệu suất / thời hạn tải hay không. Tôi sẽ chỉ nói về việc liệu bạn có cần $ ( document ). ready nếu bạn cũng đặt tập lệnh ở cuối trang .
Tôi giả sử bạn đang tham chiếu DOM trong những công dụng bạn đang ngay lập tức gọi trong tập lệnh của mình ( bất kể thứ gì đơn thuần như document hoặc document. getElementById ). Tôi cũng giả sử bạn chỉ hỏi về những tệp [ DOM-reference ] này. IOW, tập lệnh thư viện hoặc tập lệnh mà mã tham chiếu DOM của bạn nhu yếu ( như jQuery ) cần được đặt trước đó trong trang .

Để trả lời câu hỏi của bạn: Nếu bạn bao gồm các tập lệnh tham chiếu DOM ở cuối trang, Không, bạn không cần $(document).ready.

Giải thích : Nếu không có sự tương hỗ của ” onload ” – tiến hành tương quan như $ ( document ). ready quy tắc ngón tay cái là : Bất kỳ mã nào tương tác với những thành phần DOM trong trang phải được đặt / gồm có thêm xuống trang hơn những thành phần mà nó tham chiếu. Điều dễ nhất để làm là đặt mã đó trước khi đóng

. Xem ở đây và ở đây. Nó cũng hoạt động xung quanh “Operation aborted” lỗi .

Sau khi nói rằng, điều này không có nghĩa là vô hiệu hóa việc sử dụng $(document).ready. Tham khảo một đối tượng trước khi nó được tải là [một trong] những sai lầm phổ biến nhất được thực hiện khi bắt đầu trong DOM JavaScript (chứng kiến ​​nó quá nhiều lần để đếm). Đó là giải pháp của jQuery cho vấn đề và nó không yêu cầu bạn phải suy nghĩ về nơi tập lệnh này sẽ được bao gồm liên quan đến các phần tử DOM mà nó tham chiếu. Đây là một chiến thắng lớn cho các nhà phát triển. Nó chỉ là một điều ít hơn họ phải suy nghĩ.

Ngoài ra, thường khó khăn hoặc không thực tế khi di chuyển tất cả các tập lệnh tham chiếu DOM xuống cuối trang (ví dụ: bất kỳ tập lệnh nào phát hành các cuộc gọi document.write phải ở lại). Lần khác, bạn đang sử dụng một khung làm cho một số mẫu hoặc tạo ra các phần javascript động, trong đó các hàm tham chiếu cần được bao gồm trước js.

Cuối cùng, nó được sử dụng để được ” thực hành thực tế tốt nhất ” để mứt tổng thể những mã DOM-tham chiếu vào window.onload, tuy nhiên nó đã được eclipsed bởi $ ( document ). ready tiến hành cho cũng tài liệu nguyên do .
Tất cả điều này thêm lên đến $ ( document ). ready như một giải pháp tiêu biểu vượt trội hơn, trong thực tiễn và chung cho yếu tố tham chiếu những thành phần DOM quá sớm .

người giới thiệu
jQuery: Tại sao sử dụng document.ready nếu JS bên ngoài ở cuối trang?
https://qa-vi.com/qa/detail/1b53a10ed0eb47e6729707191071abc0

Rate this post

Bài viết liên quan

Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments