Skip to content

Commit 985856b

Browse files
committed
No longer use arguments.callee or RegExp (use new RegExp, instead) for ES 3.1 and Caja compatibility. Fixes jQuery bug #4251.
1 parent 410e13b commit 985856b

File tree

3 files changed

+7
-7
lines changed

3 files changed

+7
-7
lines changed

src/event.js

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -116,7 +116,7 @@ jQuery.event = {
116116
// Namespaced event handlers
117117
var namespaces = type.split(".");
118118
type = namespaces.shift();
119-
var namespace = RegExp("(^|\\.)" + namespaces.slice().sort().join(".*\\.") + "(\\.|$)");
119+
var namespace = new RegExp("(^|\\.)" + namespaces.slice().sort().join(".*\\.") + "(\\.|$)");
120120

121121
if ( events[type] ) {
122122
// remove the given handler for the given type
@@ -249,7 +249,7 @@ jQuery.event = {
249249
// Cache this now, all = true means, any handler
250250
all = !namespaces.length && !event.exclusive;
251251

252-
var namespace = RegExp("(^|\\.)" + namespaces.slice().sort().join(".*\\.") + "(\\.|$)");
252+
var namespace = new RegExp("(^|\\.)" + namespaces.slice().sort().join(".*\\.") + "(\\.|$)");
253253

254254
handlers = ( jQuery.data(this, "events") || {} )[event.type];
255255

@@ -354,7 +354,7 @@ jQuery.event = {
354354
},
355355
teardown: function( namespaces ){
356356
if ( namespaces.length ) {
357-
var remove = 0, name = RegExp("(^|\\.)" + namespaces[0] + "(\\.|$)");
357+
var remove = 0, name = new RegExp("(^|\\.)" + namespaces[0] + "(\\.|$)");
358358

359359
jQuery.each( (jQuery.data(this, "events").live || {}), function(){
360360
if ( name.test(this.type) )
@@ -560,7 +560,7 @@ jQuery.fn.extend({
560560
});
561561

562562
function liveHandler( event ){
563-
var check = RegExp("(^|\\.)" + event.type + "(\\.|$)"),
563+
var check = new RegExp("(^|\\.)" + event.type + "(\\.|$)"),
564564
stop = true,
565565
elems = [];
566566

src/selector.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -659,7 +659,7 @@ var Expr = Sizzle.selectors = {
659659
var origPOS = Expr.match.POS;
660660

661661
for ( var type in Expr.match ) {
662-
Expr.match[ type ] = RegExp( Expr.match[ type ].source + /(?![^\[]*\])(?![^\(]*\))/.source );
662+
Expr.match[ type ] = new RegExp( Expr.match[ type ].source + /(?![^\[]*\])(?![^\(]*\))/.source );
663663
}
664664

665665
var makeArray = function(array, results) {

src/support.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -75,11 +75,11 @@
7575
root.removeChild( script );
7676

7777
if ( div.attachEvent && div.fireEvent ) {
78-
div.attachEvent("onclick", function(){
78+
div.attachEvent("onclick", function click(){
7979
// Cloning a node shouldn't copy over any
8080
// bound event handlers (IE does this)
8181
jQuery.support.noCloneEvent = false;
82-
div.detachEvent("onclick", arguments.callee);
82+
div.detachEvent("onclick", click);
8383
});
8484
div.cloneNode(true).fireEvent("onclick");
8585
}

0 commit comments

Comments
 (0)