I know .on()
exists with jQuery and .bind()
should not be used in the future, considering that I have a version of jQuery greater than or equal to 1.7.
What I want to know is this: are there are any differences between attaching an anonymous function or named function to an event handler using .bind()
?
Example:
// Anonymous function
$(".warning").bind("click", function(){
alert("Hello");
});
// Named function
$(".warning").bind("click", foo);
function foo(){
alert("Hello");
}
Imagine that I have 100 div
's with the class warning
in my page. The function .bind()
will attach a new function to every handler with an anonymous function but will it be exactly the same with a named function in the very internal of JavaScript and jQuery?
Thank you.
There won't be any noticeable performance difference.
One main difference is that with a named function you can also selectively unbind functions and not just all functions associated with an event type.
Of course, this can also help you avoid code duplication.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With