git.asbjorn.biz
/
jquery.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
some clean up in the offset method
[jquery.git]
/
src
/
event.js
diff --git
a/src/event.js
b/src/event.js
index
e46e108
..
26c5620
100644
(file)
--- a/
src/event.js
+++ b/
src/event.js
@@
-116,7
+116,7
@@
jQuery.event = {
// Namespaced event handlers
var namespaces = type.split(".");
type = namespaces.shift();
// Namespaced event handlers
var namespaces = type.split(".");
type = namespaces.shift();
- var namespace = RegExp("(^|\\.)" + namespaces.slice().sort().join(".*\\.") + "(\\.|$)");
+ var namespace = new RegExp("(^|\\.)" + namespaces.slice().sort().join(".*\\.") + "(\\.|$)");
if ( events[type] ) {
// remove the given handler for the given type
if ( events[type] ) {
// remove the given handler for the given type
@@
-240,7
+240,8
@@
jQuery.event = {
var all, handlers;
event = arguments[0] = jQuery.event.fix( event || window.event );
var all, handlers;
event = arguments[0] = jQuery.event.fix( event || window.event );
-
+ event.currentTarget = this;
+
// Namespaced event handlers
var namespaces = event.type.split(".");
event.type = namespaces.shift();
// Namespaced event handlers
var namespaces = event.type.split(".");
event.type = namespaces.shift();
@@
-248,7
+249,7
@@
jQuery.event = {
// Cache this now, all = true means, any handler
all = !namespaces.length && !event.exclusive;
// Cache this now, all = true means, any handler
all = !namespaces.length && !event.exclusive;
- var namespace = RegExp("(^|\\.)" + namespaces.slice().sort().join(".*\\.") + "(\\.|$)");
+ var namespace = new RegExp("(^|\\.)" + namespaces.slice().sort().join(".*\\.") + "(\\.|$)");
handlers = ( jQuery.data(this, "events") || {} )[event.type];
handlers = ( jQuery.data(this, "events") || {} )[event.type];
@@
-353,7
+354,7
@@
jQuery.event = {
},
teardown: function( namespaces ){
if ( namespaces.length ) {
},
teardown: function( namespaces ){
if ( namespaces.length ) {
- var remove = 0, name = RegExp("(^|\\.)" + namespaces[0] + "(\\.|$)");
+ var remove = 0, name = new RegExp("(^|\\.)" + namespaces[0] + "(\\.|$)");
jQuery.each( (jQuery.data(this, "events").live || {}), function(){
if ( name.test(this.type) )
jQuery.each( (jQuery.data(this, "events").live || {}), function(){
if ( name.test(this.type) )
@@
-377,13
+378,13
@@
jQuery.Event = function( src ){
if( src && src.type ){
this.originalEvent = src;
this.type = src.type;
if( src && src.type ){
this.originalEvent = src;
this.type = src.type;
- this.timeStamp = src.timeStamp;
// Event type
}else
this.type = src;
// Event type
}else
this.type = src;
- if( !this.timeStamp )
- this.timeStamp = now();
+ // timeStamp is buggy for some events on Firefox(#3843)
+ // So we won't rely on the native value
+ this.timeStamp = now();
// Mark it as fixed
this[expando] = true;
// Mark it as fixed
this[expando] = true;
@@
-559,7
+560,7
@@
jQuery.fn.extend({
});
function liveHandler( event ){
});
function liveHandler( event ){
- var check = RegExp("(^|\\.)" + event.type + "(\\.|$)"),
+ var check = new RegExp("(^|\\.)" + event.type + "(\\.|$)"),
stop = true,
elems = [];
stop = true,
elems = [];
@@
-571,10
+572,14
@@
function liveHandler( event ){
}
});
}
});
+ elems.sort(function(a,b) {
+ return jQuery.data(a.elem, "closest") - jQuery.data(b.elem, "closest");
+ });
+
jQuery.each(elems, function(){
jQuery.each(elems, function(){
- if ( !event.isImmediatePropagationStopped() &&
- this.fn.call(this.elem, event, this.fn.data) === false )
- stop = false;
+ event.currentTarget = this.elem;
+ if ( this.fn.call(this.elem, event, this.fn.data) === false )
+ return (stop = false);
});
return stop;
});
return stop;
@@
-638,7
+643,7
@@
function bindReady(){
// If IE and not an iframe
// continually check to see if the document is ready
// If IE and not an iframe
// continually check to see if the document is ready
- if ( document.documentElement.doScroll && typeof window.frameElement === "undefined" ) (function(){
+ if ( document.documentElement.doScroll && window == window.top ) (function(){
if ( jQuery.isReady ) return;
try {
if ( jQuery.isReady ) return;
try {