5

使用 IE 9 时出现以下错误(Chrome 和 FireFox 效果很好):

SCRIPT438:对象不支持属性或方法“removeExpression”jquery.simplemodal.1.4.2.min.js,第 16 行字符 133

在 Iframe 中调用 Simple Modal。jQuery.min (1.7.1) 包含在 Iframe 中 SimpleModal (1.4.2) 之前。

负责显示模态对话框的代码:

function OpenContextByClass(cssClass, posY, posX) {
    var winHeight = $(window).height();
    var winWidth = $(window).width();

    $('.' + cssClass).modal({
        overlayClose: true,
        position: [posY, posX],
        appendTo: 'form',
        onOpen: function (dialog) { dialog.overlay.fadeIn('fast', function () { dialog.container.slideDown('fast', function () { dialog.data.fadeIn('fast'); }); }); },
        onShow: function (d) {
            var self = this;
            self.container = d.container[0];
            var title = $('.' + cssClass, self.container);
            title.show();
            $('.' + cssClass, self.container).show();

            setTimeout(function () {
                var currentPositionX = posX;
                var currentPositionY = posY;
                var currentWidth = $('.' + cssClass, self.container).width() + 50;
                var currentHeight = $('.' + cssClass, self.container).height() + 50;
                posY = (currentPositionY + currentHeight) < winHeight ? currentPositionY : (winHeight - currentHeight);
                posX = (currentPositionX + currentWidth) < winWidth ? currentPositionX : (winWidth - currentWidth);

                d.container.animate(
                                { left: posX, top: posY },
                                500,
                                function () {
                                    $('.' + cssClass, self.container).show();
                                }
                            );
            }, 550);
        }
    });
}
4

1 回答 1

1

我有同样的问题。我发现这篇文章:http ://help.dottoro.com/ljuvxilu.php

Internet Explorer 9 中删除了对动态属性的支持,因此不支持 getExpression、removeExpression、setExpression 和 recalc 方法。这些方法存在于版本 8 中,但使用它们会引发异常。

于 2012-08-27T16:55:29.750 回答