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 に答える