From 67471757b61c6d0f3fb31b16750152297033f410 Mon Sep 17 00:00:00 2001 From: Gabriel Schulhof Date: Tue, 20 Dec 2011 14:56:52 +0200 Subject: [PATCH] [popup] IE8 does not have someString.filter() so do not use it --- js/jquery.mobile.popup.js | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/js/jquery.mobile.popup.js b/js/jquery.mobile.popup.js index 6aec1a98..85376437 100644 --- a/js/jquery.mobile.popup.js +++ b/js/jquery.mobile.popup.js @@ -57,13 +57,21 @@ $.widget("mobile.popup", $.mobile.widget, { }, _setTheme: function(dst, theme, unconditional) { - var currentTheme = (dst.attr("class") || "") - .split(" ") - .filter(function(el, idx, ar) { - return el.match(/^ui-body-[a-z]$/); - }); + var classes = (dst.attr("class") || "").split(" "), + alreadyAdded = true, + currentTheme = null, + matches; - currentTheme = ((currentTheme.length > 0) ? currentTheme[0].match(/^ui-body-([a-z])/)[1] : null); + while (classes.length > 0) { + currentTheme = classes.pop(); + matches = currentTheme.match(/^ui-body-([a-z])$/); + if (matches && matches.length > 1) { + currentTheme = matches[1]; + break; + } + else + currentTheme = null; + } if (theme !== currentTheme || unconditional) { dst.removeClass("ui-body-" + currentTheme);