1

我有这个:

(function ($, window) {

$.widget("mobile.multiview", $.mobile.widget, {

    options: {

        $lowerThresh: 320,
        $upperThresh: 768
    },
    framer: function () {

        var self = $(this);
        if ($.mobile.media("screen and (max-width:320px)") || ($.mobile.browser.ie && $(window).width() < self.options.$lowerThresh)) {
            var framed = "small";
        } else if ($.mobile.media("screen and (min-width:768px)") || ($.mobile.browser.ie && $(window).width() >= self.options.$upperThresh)) {
            var framed = "large";
        } else {
            var framed = "medium";
        }

        console.log(framed);

    }
})(jQuery, this);

这在所有浏览器中都可以正常工作,仅在 IE8 上它返回self.options.$lowerThresh is null or not an object

任何想法,为什么会这样?我正在使用 Jquery 1.7.1 和 Jquery Mobile 1.1。

感谢帮助!

4

1 回答 1

0

知道了。

self = $(this);

应该:

self = $this;

然后IE播放。

于 2012-04-15T20:05:31.887 回答