Added support for .unbind(".test") to unbind all namespaced events on an element.
This commit is contained in:
parent
77da94552e
commit
703e89ba30
|
@ -109,9 +109,9 @@ jQuery.event = {
|
|||
|
||||
if ( events ) {
|
||||
// Unbind all events for the element
|
||||
if ( types == undefined )
|
||||
if ( types == undefined || types[0] == "." )
|
||||
for ( var type in events )
|
||||
this.remove( elem, type );
|
||||
this.remove( elem, type + (types || "") );
|
||||
else {
|
||||
// types is actually an event object here
|
||||
if ( types.type ) {
|
||||
|
|
|
@ -72,6 +72,10 @@ test("bind(), trigger change on select", function() {
|
|||
test("bind(), namespaced events, cloned events", function() {
|
||||
expect(6);
|
||||
|
||||
$("#firstp").bind("custom.test",function(e){
|
||||
ok(true, "Custom event triggered");
|
||||
});
|
||||
|
||||
$("#firstp").bind("click",function(e){
|
||||
ok(true, "Normal click triggered");
|
||||
});
|
||||
|
@ -92,6 +96,12 @@ test("bind(), namespaced events, cloned events", function() {
|
|||
// Trigger the remaining fn (1)
|
||||
$("#firstp").trigger("click");
|
||||
|
||||
// Remove the remaining fn
|
||||
$("#firstp").unbind(".test");
|
||||
|
||||
// Trigger the remaining fn (0)
|
||||
$("#firstp").trigger("custom");
|
||||
|
||||
// using contents will get comments regular, text, and comment nodes
|
||||
$("#nonnodes").contents().bind("tester", function () {
|
||||
equals(this.nodeType, 1, "Check node,textnode,comment bind just does real nodes" );
|
||||
|
|
Loading…
Reference in a new issue