jQuery: onload() Vs. $.ready()?
Both $(document).ready() in jQuery and body onload in traditional JavaScript are used to execute code when a web page is loaded, but they work differently and have some distinctions:
Execution Timing
- $(document).ready() (or its shorthand $()) is a jQuery event that triggers when the DOM (Document Object Model) is fully parsed and ready for manipulation, even if external resources like images are still loading. This means it usually fires before the entire page, including images, has finished loading.
- body onload is an attribute you can place in the HTML <body> tag. It executes the associated JavaScript function when the entire page, including external resources, has completely loaded.
Usage
- $(document).ready() is often used when you want to manipulate the DOM or perform actions as soon as the DOM is ready but before all external resources have loaded. It's suitable for most cases where you want to work with the structure of the page.
- body onload is typically used when you need to ensure that all page resources, including images and external scripts, are loaded before executing a particular action. This is essential if your JavaScript relies on the dimensions or content of external resources.
In this example, "Document is ready." will be logged to the console as soon as the DOM is ready, even before the image (if any) has fully loaded.
Example using body onload:In this example, "Page is fully loaded." will be logged to the console only after the entire page, including the image, has loaded.
Conclusion
The key difference is in when the code is executed: $(document).ready() fires when the DOM is ready, while body onload fires when the entire page, including external resources, is fully loaded. The choice between them depends on your specific use case and whether you need to interact with resources that might not be ready when the DOM is parsed.
- jQuery Interview Questions (Part-2)
- jQuery Interview Questions (Part-3)
- Is jQuery a programming language?
- Why do we need to go for JQuery?
- How to check jQuery version?
- How to multiple version of jQuery?
- What is jQuery CDN?
- Advantages of minified version of JQuery
- How do I check if the DOM is ready?
- How to Use the jQuery load() Method
- Is jQuery is a replacement of JavaScript?
- JQuery or JavaScript which is quicker in execution?
- What is the use of param() method in jquery
- How to work with jQuery parent(), children() and siblings()?
- Difference between parent() and parents() in jQuery?
- What does jQuery data() function do?
- How do you check if an element exists or not in jQuery?
- How do I check if an HTML element is empty using jQuery?
- How to run an event handler only once in jQuery?
- How to Disable or Enable a Form Element Using jQuery
- Hide and show image on button click using jQuery
- Difference Between Prop and Attr in jQuery
- How do I check if an element is hidden in jQuery?
- Difference between return false; and e.preventDefault()
- What is each() function in jQuery? How do you use it?
- Which one is more efficient, document.getElementbyId( "myId") or $("#myId)?
- What is the difference between $.map and $.grep in jQuery
- What is the use of serialize method in jQuery
- What is the use of clone method in jQuery?
- What is event.PreventDefault in jQuery?
- Difference between event.PreventDefault and event.stopPropagation?
- What are deferred and promise object in jQuery?
- What are source maps in jQuery?
- What does the jQuery migrate function do?
- Differences Between jQuery .bind() and .live()?
- How can you delay document.ready until a variable is set?
- How to disable cut,copy and paste in TextBox using jQuery?
- How to prevent Right Click option using jquery?
- How does the jQuery pushStack function work?
- Why use jQuery filter() Methods?
- Difference between find() and closest() in jquery?
- How To Use Ajax In Jquery?
- How to multiple AJAX requests be run simultaneously in jQuery?
- Can we call C# code behind using jQuery?
- How to include jQuery in ASP.Net project?
- Need to add jQuery file in both Master and Content page?
- Uncaught TypeError: $(…).modal is not a function jquery
- How to check whether a checkbox is checked in jQuery?
- Uncaught ReferenceError: $ is not defined
- How to Convert JSON Date to JavaScript/jQuery date