Fixed use of eval() and new Function() to work within the correct scope (and not throw errors).

This commit is contained in:
John Resig 2007-08-22 06:19:22 +00:00
parent fc3e180465
commit f2f399dcd5
2 changed files with 3 additions and 3 deletions

View file

@ -1857,7 +1857,7 @@ jQuery.extend({
// If a string is passed in for the function, make a function
// for it (a handy shortcut)
if ( typeof fn == "string" )
fn = eval("function(a,i){return " + fn + "}");
fn = eval("false||function(a,i){return " + fn + "}");
var result = [];
@ -1911,7 +1911,7 @@ jQuery.extend({
// If a string is passed in for the function, make a function
// for it (a handy shortcut)
if ( typeof fn == "string" )
fn = eval("function(a){return " + fn + "}");
fn = eval("false||function(a){return " + fn + "}");
var result = [];

View file

@ -405,7 +405,7 @@ jQuery.extend({
f = jQuery.expr[m[1]][m[2]];
// Build a custom macro to enclose it
eval("f = function(a,i){return " + f + "}");
f = eval("false||function(a,i){return " + f + "}");
// Execute it against the current filter
r = jQuery.grep( r, f, not );