Yep, there's a bug filed on this here: http://dev.jquery.com/ticket/3549
In the meantime you can get around it by just binding them separately (using separate .bind calls). --John On Wed, Feb 18, 2009 at 9:28 AM, dooge.zh <dooge...@gmail.com> wrote: > > When i use $().bind to bind a event handler of two event type at one > time like this: > var o = $("#myObj"); > o.bind("mouseover.a.b mouseout.a.c", function(){}); > then handler registrations of the two types of event in the $.cache > use the same handler, and its type is set to the last type, that is > "a.c". And then ".b" will not match the Regex. > So, if i call o.unbind(".b") later, it wont remove the handler of > mouseover event. > As we can see, In the version 1.3.1 source code, $.event.add function > is: > ...... > jQuery.each(types.split(/\s+/), function(index, type) { > // Namespaced event handlers > var namespaces = type.split("."); > type = namespaces.shift(); > // same handler, but its type may be set for many times, and is > finally set to the last type. > handler.type = namespaces.slice().sort().join("."); > ...... > } > ...... > I think that the handle function should be wrapped every time the loop > runs. but i'm not sure if it affects anything else. > Sorry for my poor English... > > > > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "jQuery Development" group. To post to this group, send email to jquery-dev@googlegroups.com To unsubscribe from this group, send email to jquery-dev+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/jquery-dev?hl=en -~----------~----~----~----~------~----~------~--~---