git.asbjorn.biz
/
jquery.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
77da945
)
Added support for .unbind(".test") to unbind all namespaced events on an element.
author
John Resig
<jeresig@gmail.com>
Sun, 3 Feb 2008 04:33:11 +0000
(
04:33
+0000)
committer
John Resig
<jeresig@gmail.com>
Sun, 3 Feb 2008 04:33:11 +0000
(
04:33
+0000)
src/event.js
patch
|
blob
|
history
test/unit/event.js
patch
|
blob
|
history
diff --git
a/src/event.js
b/src/event.js
index
56da7ac
..
9f384fb
100644
(file)
--- a/
src/event.js
+++ b/
src/event.js
@@
-109,9
+109,9
@@
jQuery.event = {
if ( events ) {
// Unbind all events for the element
if ( events ) {
// Unbind all events for the element
- if ( types == undefined )
+ if ( types == undefined || types[0] == "." )
for ( var type in events )
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 ) {
else {
// types is actually an event object here
if ( types.type ) {
diff --git
a/test/unit/event.js
b/test/unit/event.js
index
da6dd79
..
ba29ab7
100644
(file)
--- 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);
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");
});
$("#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");
// 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" );
// 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" );