diff options
author | John Resig <jeresig@gmail.com> | 2008-02-03 04:33:11 +0000 |
---|---|---|
committer | John Resig <jeresig@gmail.com> | 2008-02-03 04:33:11 +0000 |
commit | 703e89ba302e86bba1f4777ce1a6aee6f38b7b87 (patch) | |
tree | 3bcf1f25967efbb9faf6d7c89ed347f71eecb52d | |
parent | 77da94552e94925e990d058ed81419d0835747ce (diff) | |
download | jquery-703e89ba302e86bba1f4777ce1a6aee6f38b7b87.tar.gz jquery-703e89ba302e86bba1f4777ce1a6aee6f38b7b87.zip |
Added support for .unbind(".test") to unbind all namespaced events on an element.
-rw-r--r-- | src/event.js | 4 | ||||
-rw-r--r-- | test/unit/event.js | 10 |
2 files changed, 12 insertions, 2 deletions
diff --git a/src/event.js b/src/event.js index 56da7acc1..9f384fbc8 100644 --- a/src/event.js +++ b/src/event.js @@ -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 ) { diff --git a/test/unit/event.js b/test/unit/event.js index da6dd792c..ba29ab7ec 100644 --- a/test/unit/event.js +++ b/test/unit/event.js @@ -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" ); |