Deferred and promise are part of jQuery since version 1.5 and they help in handling asynchronous functions like Ajax.
Tag Archives: jQuery
jQuery Browser Specific Code
Using jQuery.browser property, we can write browser specific code. This property contains flags for the useragent, read from navigator.userAgent. This property was removed in jQuery 1.9.
jQuery is not defined
There could be many reasons for this.
- You have forgot to include the reference of jQuery library and trying to access jQuery.
- You have included the reference of the jQuery file, but it is after your jQuery code.
- The order of the scripts is not correct. For example, if you are using any jQuery plugin and you have placed the reference of the plugin js before the jQuery library then you will face this error.
jQuery Caching
Caching is an area which can give you awesome performance, if used properly and at the right place. While using jQuery, you should also think about caching. For example, if you are using any element in jQuery more than one time, then you must cache it. See below code.
$(“#myID”).css(“color”, “red”);
//Doing some other stuff……
$(“#myID”).text(“Error occurred!”);
Now in above jQuery code, the element with #myID is used twice but without caching. So both the times jQuery had to traverse through DOM and get the element. But if you have saved this in a variable then you just need to reference the variable. So the better way would be,
var $myElement = $(“#myID”).css(“color”, “red”);
//Doing some other stuff……
$myElement.text(“Error occurred!”);
So now in this case, jQuery won’t need to traverse through the whole DOM tree when it is used second time. So in jQuery, Caching is like saving the jQuery selector in a variable. And using the variable reference when required instead of searching through DOM again.
jQuery Chaining
Chaining is one of the most powerful feature of jQuery. In jQuery, Chaining means to connect multiple functions, events on selectors. It makes your code short and easy to manage and it gives better performance. The chain starts from left to right. So left most will be called first and so on.
jQuery Delay document.ready Execution
Iits possible. With Release of jQuery 1.6, a new method “jQuery.holdReady(hold)” was introduced. This method allows to delay the execution of document.ready() event. document.ready() event is called as soon as your DOM is ready but sometimes there is a situation when you want to load additional JavaScript or some plugins which you have referenced.
jQuery Attach Event To Be Executed Only Once
Using jQuery one() method. This attaches a handler to an event for the element. The handler is executed at most once per element. In simple terms, the attached function will be called only once.
jQuery Difference Between event.stopPropagation And event.stopImmediatePropagation
event.stopPropagation() allows other handlers on the same element to be executed, while event.stopImmediatePropagation() prevents every event from running. For example, see below jQuery code block.
$(“p”).click(function(event){
event.stopImmediatePropagation();
});
$(“p”).click(function(event){
// This function won’t be executed
$(this).css(“background-color”, “#f00”);
});
If event.stopPropagation was used in previous example, then the next click event on p element which changes the css will fire, but in case event.stopImmediatePropagation(), the next p click event will not fire.
jQuery Difference Between event.PreventDefault and “return false”
e.preventDefault()
will prevent the default event from occurring, e.stopPropagation()
will prevent the event from bubbling up and return false will do both.
jQuery event.stopPropagation
event.stopPropagation(): Prevents the event from bubbling up the DOM tree, preventing any parent handlers from being notified of the event.
For example, if there is a link with a click method attached inside of a DIV or FORM that also has a click method attached, it will prevent the DIV or FORM click method from firing.