escClose in simple modal

时间:2012-03-14 13:31:36

标签: javascript jquery simplemodal

我正在使用简单的模态,我正试图阻止关闭逃生。 This说它应该很简单,但这对我不起作用,我把它放在错误的地方吗?

$(document).ready(function(){
    $("#login_modal").modal({
        overlayCss: {
            backgroundColor: '#000',
        },
        containerCss: {
            height: 485,
            width: 385,
            backgroundColor: "#f6f6f6",
            border: '3px solid #d3d5d6',
            fontSize: '10pt',
            color: '#58595b',
            fontFamily: 'sans-Serif',
            fontWeight: '100',
            paddingLeft: 5,
            paddingTop: 5,
            opacity: .94,
            escClose: false,
        },
        onOpen: function (dialog) {
            dialog.overlay.fadeIn('slow');
            dialog.data.show(); 
            dialog.container.fadeIn('slow', function () {
                $('body').css('overflow', 'hidden');
            });
        },
        onClose: function (dialog){
            $('body').css('overflow', 'auto');
            dialog.container.fadeOut('200');
            dialog.overlay.fadeOut('200', function () {
                $.modal.close();
            });
        },
    });
});

1 个答案:

答案 0 :(得分:1)

是的,escClose位于错误的位置 - 它是模态本身的参数,而不是containerCss数组。您的overlayCsscontainerCss属性数组末尾还有额外的逗号。这有时会导致浏览器出现问题。试试这个;

$(document).ready(function(){
    $("#login_modal").modal({
        escClose: false,
        overlayCss: {
            backgroundColor: '#000'
        },
        containerCss: {
            height: 485,
            width: 385,
            backgroundColor: "#f6f6f6",
            border: '3px solid #d3d5d6',
            fontSize: '10pt',
            color: '#58595b',
            fontFamily: 'sans-Serif',
            fontWeight: '100',
            paddingLeft: 5,
            paddingTop: 5,
            opacity: .94
        },
        onOpen: function (dialog) {
            dialog.overlay.fadeIn('slow');
            dialog.data.show(); 
            dialog.container.fadeIn('slow', function () {
                $('body').css('overflow', 'hidden');
            });
        },
        onClose: function (dialog){
            $('body').css('overflow', 'auto');
            dialog.container.fadeOut('200');
            dialog.overlay.fadeOut('200', function () {
                $.modal.close();
            });
        },
    });
});