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:
d12e8a3
)
Didn't get specific enough with the proxy guid, fixes #3787.
author
John Resig
<jeresig@gmail.com>
Fri, 9 Jan 2009 22:14:48 +0000
(22:14 +0000)
committer
John Resig
<jeresig@gmail.com>
Fri, 9 Jan 2009 22:14:48 +0000
(22:14 +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
405e19f
..
1ba0357
100644
(file)
--- a/
src/event.js
+++ b/
src/event.js
@@
-545,7
+545,7
@@
jQuery.fn.extend({
live: function( type, fn ){
var proxy = jQuery.event.proxy( fn );
live: function( type, fn ){
var proxy = jQuery.event.proxy( fn );
- proxy.guid += this.selector;
+ proxy.guid += this.selector + type;
jQuery(document).bind( liveConvert(type, this.selector), this.selector, proxy );
jQuery(document).bind( liveConvert(type, this.selector), this.selector, proxy );
@@
-553,7
+553,7
@@
jQuery.fn.extend({
},
die: function( type, fn ){
},
die: function( type, fn ){
- jQuery(document).unbind( liveConvert(type, this.selector), fn ? { guid: fn.guid + this.selector } : null );
+ jQuery(document).unbind( liveConvert(type, this.selector), fn ? { guid: fn.guid + this.selector + type } : null );
return this;
}
});
return this;
}
});
diff --git
a/test/unit/event.js
b/test/unit/event.js
index
cbeb9ff
..
e12f3b7
100644
(file)
--- a/
test/unit/event.js
+++ b/
test/unit/event.js
@@
-474,7
+474,7
@@
test("toggle(Function, Function, ...)", function() {
});
test(".live()/.die()", function() {
});
test(".live()/.die()", function() {
- expect(34);
+ expect(36);
var submit = 0, div = 0, livea = 0, liveb = 0;
var submit = 0, div = 0, livea = 0, liveb = 0;
@@
-571,10
+571,23
@@
test(".live()/.die()", function() {
equals( called, 3, "Verify that only one click occurred." );
jQuery("#anchor2").trigger("click");
equals( called, 3, "Verify that only one click occurred." );
jQuery("#anchor2").trigger("click");
- equals( called, 3, "Verify that only one click occurred." );
+ equals( called, 3, "Verify that no click occurred." );
+
+ // Make sure that it still works if the selector is the same,
+ // but the event type is different
+ jQuery("#nothiddendiv").live("foo", callback);
// Cleanup
jQuery("#nothiddendiv").die("click", callback);
// Cleanup
jQuery("#nothiddendiv").die("click", callback);
+
+ jQuery("#nothiddendiv").trigger("click");
+ equals( called, 3, "Verify that no click occurred." );
+
+ jQuery("#nothiddendiv").trigger("foo");
+ equals( called, 4, "Verify that one foo occurred." );
+
+ // Cleanup
+ jQuery("#nothiddendiv").die("foo", callback);
});
/*
});
/*