aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJohn Resig <jeresig@gmail.com>2008-02-03 04:33:11 +0000
committerJohn Resig <jeresig@gmail.com>2008-02-03 04:33:11 +0000
commit703e89ba302e86bba1f4777ce1a6aee6f38b7b87 (patch)
tree3bcf1f25967efbb9faf6d7c89ed347f71eecb52d
parent77da94552e94925e990d058ed81419d0835747ce (diff)
downloadjquery-703e89ba302e86bba1f4777ce1a6aee6f38b7b87.tar.gz
jquery-703e89ba302e86bba1f4777ce1a6aee6f38b7b87.zip
Added support for .unbind(".test") to unbind all namespaced events on an element.
-rw-r--r--src/event.js4
-rw-r--r--test/unit/event.js10
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" );