mirror of
https://github.com/jquery/jquery.git
synced 2024-11-23 02:54:22 +00:00
Not only does it pass the default JSLint settings, it also no longer leaks *any* global variables!
This commit is contained in:
parent
2a6b0ee7c8
commit
4986837802
@ -130,7 +130,7 @@ $.fn.load = function(a,o,f) {
|
||||
h = h.responseText;
|
||||
self.html(h).find("script").each(function(){
|
||||
try {
|
||||
eval( this.text || this.textContent || this.innerHTML );
|
||||
$.eval( this.text || this.textContent || this.innerHTML );
|
||||
} catch(e){}
|
||||
});
|
||||
if(f){f(h);}
|
||||
@ -146,7 +146,7 @@ $.fn.load = function(a,o,f) {
|
||||
$.fn.formValues = function() {
|
||||
var a = [];
|
||||
this.find("input[@type='submit'],input[@type='hidden'],textarea,input[@checked],input[@type='password'],input[@type='text'],option[@selected]").filter(":enabled").each(function() {
|
||||
o = {};
|
||||
var o = {};
|
||||
o.name = this.name || this.id || this.parentNode.name || this.parentNode.id;
|
||||
o.value = this.value;
|
||||
a.push(o);
|
||||
@ -170,7 +170,7 @@ $.update = function(objElement, strURL, arrValues, fncCallback) {
|
||||
//
|
||||
// Evaluate the scripts
|
||||
objElement.html(strHTML).find("script").each(function(){
|
||||
try { eval( this.text || this.textContent || this.innerHTML ); } catch(e){}
|
||||
try { $.eval( this.text || this.textContent || this.innerHTML ); } catch(e){}
|
||||
});
|
||||
|
||||
//
|
||||
|
@ -1,3 +1,4 @@
|
||||
(function(){
|
||||
var e = ["blur","focus","contextmenu","load","resize","scroll","unload",
|
||||
"click","dblclick","mousedown","mouseup","mouseenter","mouseleave",
|
||||
"mousemove","mouseover","mouseout","change","reset","select","submit",
|
||||
@ -19,18 +20,19 @@ for ( var i = 0; i < e.length; i++ ) {
|
||||
//$.fn["on"+o] = function(f){ return this.bind(o, f); };
|
||||
})();
|
||||
}
|
||||
})();
|
||||
|
||||
$.fn.hover = function(f,g) {
|
||||
// Check if mouse(over|out) are still within the same parent element
|
||||
return this.each(function(){
|
||||
var obj = this;
|
||||
addEvent(this, "mouseover", function(e) {
|
||||
$.event.add(this, "mouseover", function(e) {
|
||||
var p = ( e.fromElement !== null ? e.fromElement : e.relatedTarget );
|
||||
while ( p && p != obj ) { p = p.parentNode; }
|
||||
if ( p == obj ) { return false; }
|
||||
return $.apply(obj,f,[e]);
|
||||
});
|
||||
addEvent(this, "mouseout", function(e) {
|
||||
$.event.add(this, "mouseout", function(e) {
|
||||
var p = ( e.toElement !== null ? e.toElement : e.relatedTarget );
|
||||
while ( p && p != obj ) { p = p.parentNode; }
|
||||
if ( p == obj ) { return false; }
|
||||
@ -57,7 +59,7 @@ if ( document.addEventListener ) {
|
||||
document.addEventListener( "DOMContentLoaded", $.ready, null );
|
||||
}
|
||||
|
||||
addEvent( window, "load", $.ready );
|
||||
$.event.add( window, "load", $.ready );
|
||||
|
||||
$.fn.ready = function(f) {
|
||||
return this.each(function(){
|
||||
|
57
fx/fx.js
57
fx/fx.js
@ -9,42 +9,42 @@ $.speed = function(s,o) {
|
||||
$.fn.hide = function(a,o) {
|
||||
o = $.speed(a,o);
|
||||
return a ? this.each(function(){
|
||||
new fx.FadeSize(this,o).hide();
|
||||
new $.fx.FadeSize(this,o).hide();
|
||||
}) : this._hide();
|
||||
};
|
||||
|
||||
$.fn.show = function(a,o) {
|
||||
o = $.speed(a,o);
|
||||
return a ? this.each(function(){
|
||||
new fx.FadeSize(this,o).show();
|
||||
new $.fx.FadeSize(this,o).show();
|
||||
}) : this._show();
|
||||
};
|
||||
|
||||
$.fn.slideDown = function(a,o) {
|
||||
o = $.speed(a,o);
|
||||
return this.each(function(){
|
||||
new fx.Resize(this,o).show("height");
|
||||
new $.fx.Resize(this,o).show("height");
|
||||
});
|
||||
};
|
||||
|
||||
$.fn.slideUp = function(a,o) {
|
||||
o = $.speed(a,o);
|
||||
return this.each(function(){
|
||||
new fx.Resize(this,o).hide("height");
|
||||
new $.fx.Resize(this,o).hide("height");
|
||||
});
|
||||
};
|
||||
|
||||
$.fn.fadeOut = function(a,o) {
|
||||
o = $.speed(a,o);
|
||||
return a ? this.each(function(){
|
||||
new fx.Opacity(this,o).hide();
|
||||
new $.fx.Opacity(this,o).hide();
|
||||
}) : this._hide();
|
||||
};
|
||||
|
||||
$.fn.fadeIn = function(a,o) {
|
||||
o = $.speed(a,o);
|
||||
return a ? this.each(function(){
|
||||
new fx.Opacity(this,o).show();
|
||||
new $.fx.Opacity(this,o).show();
|
||||
}) : this._show();
|
||||
};
|
||||
|
||||
@ -85,7 +85,7 @@ $.setAuto = function(e,p) {
|
||||
* people. You've been warned.
|
||||
*/
|
||||
|
||||
function fx(el,op,ty,tz){
|
||||
$.fx = function(el,op,ty,tz){
|
||||
var z = this;
|
||||
z.a = function(){z.el.style[ty]=z.now+z.o.unit;};
|
||||
z.max = function(){return z.el["io"+ty]||z.el["natural"+tz]||z.el["scroll"+tz]||z.cur();};
|
||||
@ -130,17 +130,22 @@ function fx(el,op,ty,tz){
|
||||
this.now=f;z.a();z.io=z.cur();z.s=(new Date()).getTime();
|
||||
z.timer=setInterval(function(){z.step(f,t);}, 13);
|
||||
};
|
||||
}
|
||||
fx.fn = ["show","hide","toggle"];
|
||||
fx.ty = ["Height","Width","Left","Top"];
|
||||
for(var $i in fx.ty){(function(){
|
||||
var c = fx.ty[$i];
|
||||
fx[c] = function(a,b){
|
||||
return new fx(a,b,c.toLowerCase(),c);
|
||||
};
|
||||
|
||||
$.fx.fn = ["show","hide","toggle"];
|
||||
$.fx.ty = ["Height","Width","Left","Top"];
|
||||
|
||||
(function(){
|
||||
for(var $i in $.fx.ty){(function(){
|
||||
var c = $.fx.ty[$i];
|
||||
$.fx[c] = function(a,b){
|
||||
return new $.fx(a,b,c.toLowerCase(),c);
|
||||
};
|
||||
})();}
|
||||
fx.Opacity = function(a,b){
|
||||
var o = new fx(a,b,"opacity");
|
||||
})();
|
||||
|
||||
$.fx.Opacity = function(a,b){
|
||||
var o = new $.fx(a,b,"opacity");
|
||||
o.cur = function(){return parseFloat(o.el.style.opacity);};
|
||||
o.a = function() {
|
||||
var e = o.el.style;
|
||||
@ -154,14 +159,14 @@ fx.Opacity = function(a,b){
|
||||
o.a();
|
||||
return o;
|
||||
};
|
||||
fx.Resize = function(e,o){
|
||||
$.fx.Resize = function(e,o){
|
||||
var z = this;
|
||||
var h = new fx.Height(e,o);
|
||||
var h = new $.fx.Height(e,o);
|
||||
if(o) { o.onComplete = null; }
|
||||
var w = new fx.Width(e,o);
|
||||
var w = new $.fx.Width(e,o);
|
||||
function c(a,b,d){return (!a||a==c||b==d);}
|
||||
for(var i in fx.fn){(function(){
|
||||
var j = fx.fn[i];
|
||||
for(var i in $.fx.fn){(function(){
|
||||
var j = $.fx.fn[i];
|
||||
z[j] = function(a,b){
|
||||
if(c(a,b,"height")) { h[j](); }
|
||||
if(c(a,b,"width")) { w[j](); }
|
||||
@ -172,13 +177,13 @@ fx.Resize = function(e,o){
|
||||
w.modify(d);
|
||||
};
|
||||
};
|
||||
fx.FadeSize = function(e,o){
|
||||
$.fx.FadeSize = function(e,o){
|
||||
var z = this;
|
||||
var r = new fx.Resize(e,o);
|
||||
var r = new $.fx.Resize(e,o);
|
||||
if(o) { o.onComplete = null; }
|
||||
var p = new fx.Opacity(e,o);
|
||||
for(var i in fx.fn){(function(){
|
||||
var j = fx.fn[i];
|
||||
var p = new $.fx.Opacity(e,o);
|
||||
for(var i in $.fx.fn){(function(){
|
||||
var j = $.fx.fn[i];
|
||||
z[j] = function(a,b){p[j]();r[j](a,b);};
|
||||
})();}
|
||||
};
|
||||
|
52
jquery/jquery.js
vendored
52
jquery/jquery.js
vendored
@ -214,13 +214,13 @@ function $(a,c) {
|
||||
},
|
||||
|
||||
bind: function(t,f) {
|
||||
return this.each(function(){addEvent(this,t,f);});
|
||||
return this.each(function(){$.event.add(this,t,f);});
|
||||
},
|
||||
unbind: function(t,f) {
|
||||
return this.each(function(){removeEvent(this,t,f);});
|
||||
return this.each(function(){$.event.remove(this,t,f);});
|
||||
},
|
||||
trigger: function(t) {
|
||||
return this.each(function(){triggerEvent(this,t);});
|
||||
return this.each(function(){$.event.trigger(this,t);});
|
||||
},
|
||||
|
||||
find: function(t) {
|
||||
@ -315,6 +315,8 @@ function $(a,c) {
|
||||
return self;
|
||||
}
|
||||
|
||||
$.eval = eval;
|
||||
|
||||
$.apply = function(o,f,a) {
|
||||
a = a || [];
|
||||
if ( f.apply ) {
|
||||
@ -325,7 +327,7 @@ $.apply = function(o,f,a) {
|
||||
p[i] = 'a['+i+']';
|
||||
}
|
||||
o.$$exec = this;
|
||||
var r = eval('o.$$exec(' + p.join(',') + ')');
|
||||
var r = $.eval('o.$$exec(' + p.join(',') + ')');
|
||||
o.$$exec = null;
|
||||
return r;
|
||||
}
|
||||
@ -620,7 +622,7 @@ $.filter = function(t,r,not) {
|
||||
}
|
||||
|
||||
if ( f !== null ) {
|
||||
eval('f = function(a,i){return ' + f + '}');
|
||||
$.eval('f = function(a,i){return ' + f + '}');
|
||||
r = g( r, f );
|
||||
}
|
||||
}
|
||||
@ -728,11 +730,13 @@ $.map = function(a,f) {
|
||||
return r;
|
||||
};
|
||||
|
||||
$.event = {};
|
||||
|
||||
// Bind an event to an element
|
||||
// Original by Dean Edwards
|
||||
function addEvent(element, type, handler) {
|
||||
$.event.add = function(element, type, handler) {
|
||||
if ( element.location ) { element = window; } // Ughhhhh....
|
||||
if (!handler.$$guid) { handler.$$guid = addEvent.guid++; }
|
||||
if (!handler.$$guid) { handler.$$guid = $.event.add.guid++; }
|
||||
if (!element.events) { element.events = {}; }
|
||||
var handlers = element.events[type];
|
||||
if (!handlers) {
|
||||
@ -742,13 +746,13 @@ function addEvent(element, type, handler) {
|
||||
}
|
||||
}
|
||||
handlers[handler.$$guid] = handler;
|
||||
element["on" + type] = handleEvent;
|
||||
}
|
||||
element["on" + type] = $.event.handle;
|
||||
};
|
||||
|
||||
addEvent.guid = 1;
|
||||
$.event.add.guid = 1;
|
||||
|
||||
// Detach an event or set of events from an element
|
||||
function removeEvent(element, type, handler) {
|
||||
$.event.remove = function(element, type, handler) {
|
||||
if (element.events) {
|
||||
if (type && element.events[type]) {
|
||||
if ( handler ) {
|
||||
@ -760,22 +764,22 @@ function removeEvent(element, type, handler) {
|
||||
}
|
||||
} else {
|
||||
for ( var j in element.events ) {
|
||||
removeEvent( element, j );
|
||||
}
|
||||
$.event.remove( element, j );
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
function triggerEvent(element,type,data) {
|
||||
$.event.trigger = function(element,type,data) {
|
||||
data = data || [{ type: type }];
|
||||
if ( element && element["on" + type] ) {
|
||||
$.apply( element, element["on" + type], data );
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
function handleEvent(event) {
|
||||
$.event.handle = function(event) {
|
||||
var returnValue = true;
|
||||
event = event || fixEvent(window.event);
|
||||
event = event || $.event.fix(window.event);
|
||||
var handlers = [];
|
||||
for ( var j in this.events[event.type] ) {
|
||||
handlers[handlers.length] = this.events[event.type][j];
|
||||
@ -793,19 +797,19 @@ function handleEvent(event) {
|
||||
} catch(e){}
|
||||
}
|
||||
return returnValue;
|
||||
}
|
||||
};
|
||||
|
||||
function fixEvent(event) {
|
||||
event.preventDefault = fixEvent.preventDefault;
|
||||
event.stopPropagation = fixEvent.stopPropagation;
|
||||
$.event.fix = function(event) {
|
||||
event.preventDefault = $.event.fix.preventDefault;
|
||||
event.stopPropagation = $.event.fix.stopPropagation;
|
||||
return event;
|
||||
}
|
||||
};
|
||||
|
||||
fixEvent.preventDefault = function() {
|
||||
$.event.fix.preventDefault = function() {
|
||||
this.returnValue = false;
|
||||
};
|
||||
|
||||
fixEvent.stopPropagation = function() {
|
||||
$.event.fix.stopPropagation = function() {
|
||||
this.cancelBubble = true;
|
||||
};
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user