Got two more uses for ya. Namespacing of events: // set two click events with different namespaces $('.button').bind('click.namespace1', function () {
}).bind('click.namespace2', function () { }); //remove just one of them $('.button').unbind('click.namespace1', function () { }); and passing of data: $('.button').bind('click', {'name': 'value'}, function (e) { console.log(e.data.name); // logs value }); On Dec 4, 10:41 am, Rey Bango <r...@reybango.com> wrote: > Yep Karl's explanation was great. Also, you can leverage bind() to work > with your own custom events in the case where you want to define > something that needs to be triggered based on another action. Using the > code from the docs, you can see what I'm talking about: > > $("p").bind("myCustomEvent", function(e, myName, myValue){ > $(this).text(myName + ", hi there!"); > $("span").stop().css("opacity", 1) > .text("myName = " + myName) > .fadeIn(30).fadeOut(1000); > }); > $("button").click(function () { > $("p").trigger("myCustomEvent", [ "John" ]); > }); > > Rey... > > Charlie Griefer wrote: > > Hi Karl: > > > Awesome! Got it :) > > > Thanks for the explanation and examples. > > > Charlie > > > On Fri, Dec 4, 2009 at 9:01 AM, Karl Swedberg <k...@englishrules.com > > <mailto:k...@englishrules.com>> wrote: > > > Hey Charlie, > > > methods such as .click() and .mouseover() are just convenience > > methods. They all use .bind() internally. One nice thing about > > .bind() is that you can use multiple event types with it. For > > example, instead of doing this: > > > $('a') > > .mouseover(function() { > > var $link = $(this); > > // do something with $link > > }) > > .mouseout(function() { > > var $link = $(this); > > // do something with $link > > }); > > > You can combine them and avoid some repetition: > > > $('a') > > .bind('mouseover mouseout', function(event) { > > var $link = $(this); > > if (event.type == 'mouseover') { > > // do something with $link on mouseover > > } else { > > // do something with $link on mouseout > > } > > }); > > > --Karl > > > ____________ > > Karl Swedberg > > www.englishrules.com<http://www.englishrules.com> > > www.learningjquery.com<http://www.learningjquery.com> > > > On Dec 4, 2009, at 11:46 AM, Charlie Griefer wrote: > > >> Hi All: > > >> I've read over the docs, but don't quite understand what the > >> bind() event provides versus just assigning a particular event > >> handler to a selected element (or set of elements). > > >> For example, consider the code below. What's the difference > >> between the interaction with the <p> elements of class "first", > >> and the <p> elements of class "second"? Isn't the second bit > >> effectively binding a click event handler to a specific batch of > >> "p" elements just as the first one is? > > >> Just not grokking it. Would appreciate if anybody could enlighten me. > > >> <script > >> > >> src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.js"></script> > > >> <script type="text/javascript"> > >> $(document).ready(function() { > >> $('p.first').bind('click', function() { > >> alert($(this).text()); > >> }); > > >> $('p.second').click(function() { > >> alert($(this).text()); > >> }); > >> }); > >> </script> > > >> <p class="first">A</p> > >> <p class="first">B</p> > >> <p class="first">C</p> > >> <p class="first">D</p> > >> <p class="first">E</p> > > >> <hr /> > > >> <p class="second">F</p> > >> <p class="second">G</p> > >> <p class="second">H</p> > >> <p class="second">I</p> > >> <p class="second">J</p> > > >> -- > >> Charlie Griefer > >> http://charlie.griefer.com/ > > >> I have failed as much as I have succeeded. But I love my life. I > >> love my wife. And I wish you my kind of success. > > > -- > > Charlie Griefer > >http://charlie.griefer.com/ > > > I have failed as much as I have succeeded. But I love my life. I love my > > wife. And I wish you my kind of success.