Solved

is $(document).ready(function() the same as     $(function () {

Posted on 2014-07-23
9
569 Views
Last Modified: 2014-07-27
In JQuery,

is $(document).ready(function() the same as     $(function () {   }
0
Comment
Question by:brgdotnet
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 4
  • 3
9 Comments
 
LVL 13

Expert Comment

by:duncanb7
ID: 40216088
There is different between

At $(document).ready(function(),  
The function() will operate after the whole page is completely loaded and DOM is ready.
But
$(function () {   }
is self-start or self calling anonymous function that is just function, it will operate or start as soon as possible when the browser is interpreting your ecma-/javascript  regardless the page being loaded completely or not

Duncan
0
 
LVL 53

Accepted Solution

by:
Scott Fell,  EE MVE earned 160 total points
ID: 40216154
These two sets of code below are the same http://api.jquery.com/ready/.  I personally use the later because it is faster to type out.
$( document ).ready(function() {
  // Handler for .ready() called.
});

Open in new window

$(function() {
  // Handler for .ready() called.
});

Open in new window

0
 
LVL 53

Expert Comment

by:Scott Fell, EE MVE
ID: 40216250
@duncanb7, I'm just trying to double check because we seem to have different answers for the same thing.  

self calling anonymous function that is just function, it will operate or start as soon as possible when the browser is interpreting your ecma-/javascript

I may be confused, but are you talking about pure javascript? or jquery?
  <script>
    (function(){
 // do something
})();
  </script>

Open in new window

0
Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
LVL 13

Expert Comment

by:duncanb7
ID: 40216343
Scott, you are correct and I miss $
And the article mention $(function()) is shorthand for $( document ).ready() at this site. http://learn.jquery.com/using-jquery-core/document-ready/

And my previous post is shown the different between $(document.)ready() and (function()) , javascript self-start function only.

You can test from the following code , if the div tag change color means it work for the code. Finally, it showed only Self-javascript function can not change to green color.

Duncan
<html>
<meta http-equiv="Content-Type" content="text/html; charset=Big5">
<head>
<title>Title</title>
<style>
</style>
<script src="/js/jquery.min.js" type="text/javascript"></script>
<script src="/js/jquery-ui.min.js" type="text/javascript"></script>
<script type="text/javascript">
(function() {
  document.getElementsByClassName('tap')[0].style.color="Green";
});
$(function() {
  document.getElementsByClassName('tap')[1].style.color="Green";
});
$(document).ready(function() {
document.getElementsByClassName('tap')[2].style.color="Green";
});

</script>
<script type="text/javascript">
</script>
</head>
<body  >
<div class="tap">Self-javascript</div>
<div class="tap">$(function())</div>
<div class="tap">Ready-jquery</div>
</body>
</html>

Open in new window

0
 
LVL 13

Expert Comment

by:duncanb7
ID: 40216355
Scott, you agree ?
0
 
LVL 53

Expert Comment

by:Scott Fell, EE MVE
ID: 40216363
Thank you Duncan.   Your description matched something for pure javascript.  If you add the $ or jquery in front, now you are talking about jquery as you suggest, but then the description you gave is incorrect.

The simple correct answer to the question,
is $(document).ready(function() the same as $(function () {
Yes, they are both the same.
0
 
LVL 13

Expert Comment

by:duncanb7
ID: 40216365
Thanks for your reply , please review my post I didn't suggest anything  and I just verify  it by testing for all of you from your previous post to me.

The answer is Yes to the question and  mentioned at this site
http://learn.jquery.com/using-jquery-core/document-ready/

Duncan
0
 
LVL 43

Expert Comment

by:Rob
ID: 40223340
To clarify,

$(document).ready(function() {}); is capturing the "ready" event when the document had loaded.

$(function() {}); is passing an anonymous function to the jQuery class. JQuery is configured such that the anonymous function is only called once the DOM has loaded.

More info on frameworks here:
http://www.experts-exchange.com/Programming/Languages/Scripting/JavaScript/A_12264-Javascript-Frameworks-what-are-they.html
And JavaScript objects (that is all jQuery is)
http://www.experts-exchange.com/Programming/Languages/Scripting/JavaScript/A_13138-Javascript-is-just-an-Object.html
0

Featured Post

Secure Your WordPress Site: 5 Essential Approaches

WordPress is the web's most popular CMS, but its dominance also makes it a target for attackers. Our eBook will show you how to:

Prevent costly exploits of core and plugin vulnerabilities
Repel automated attacks
Lock down your dashboard, secure your code, and protect your users

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

In this article you'll learn how to use Ajax calls within your CodeIgniter application. To explain this, I'll illustrate how to implement a simple contact form to allow visitors to send you an email through your web site.
Introduction If you're like most people, you have occasionally made a typographical error when you're entering information into an online form.  And to your consternation, the browser remembers the error, and offers to autocomplete your future entr…
The viewer will learn how to dynamically set the form action using jQuery.
The viewer will learn the basics of jQuery including how to code hide show and toggles. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery…
Suggested Courses

732 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question