Skip to content

Commit

Permalink
Added support for .unbind(".test") to unbind all namespaced events on…
Browse files Browse the repository at this point in the history
… an element.
  • Loading branch information
jeresig committed Feb 3, 2008
1 parent 77da945 commit 703e89b
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 2 deletions.
4 changes: 2 additions & 2 deletions src/event.js
Original file line number Diff line number Diff line change
Expand Up @@ -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 ) {
Expand Down
10 changes: 10 additions & 0 deletions test/unit/event.js
Original file line number Diff line number Diff line change
Expand Up @@ -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");
});
Expand All @@ -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" );
Expand Down

0 comments on commit 703e89b

Please sign in to comment.