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.

Reply via email to