鍍金池/ 問答/HTML/ return false如何阻止對話框關(guān)閉?

return false如何阻止對話框關(guān)閉?

自己封裝了一個(gè)彈出框插件,正常的情況下,點(diǎn)擊OK,彈出框都會關(guān)閉,但是彈框內(nèi)有表單驗(yàn)證,回調(diào)函數(shù)內(nèi)需要有return false阻止關(guān)閉,現(xiàn)求插件里這個(gè)OK按鈕的回調(diào)函數(shù)如何判斷有return false就能阻止關(guān)閉?

調(diào)用:

$.dialog({
    type : 'confirm',
    titleText:'',
    html:'',
    ok:function(){
         ...
        return false; //需要驗(yàn)證阻止關(guān)閉
    }
});

插件:

;(function(win,$){
    var wrap, overlay, content, title, close, cancelBtn, okBtn, delBtn, settings, timer;
    var _renderDOM = function(){
        switch (settings.type){
            ...
            case 'confirm' :
                if(settings.showTitle){
                    ...
                }
                content.append(
                    ...
                );
                contentFt.append(
                    cancelBtn = $('<a class="weui_btn_dialog default" href="javascript:;">'+ settings.buttonText.cancel +'</a>'),
                    okBtn = $('<a class="weui_btn_dialog primary" href="javascript:;">'+ settings.buttonText.ok +'</a>')
                );
                break;
            ...
        }
    };

    var _bindEvent = function() {
        $(okBtn).on('click', function(e){
            //這里需要判斷
            $.dialog.close();
            return false;
        });
        ...
    };

    $.dialog = function(options) {
        settings = $.extend({}, $.fn.dialog.defaults, options);        
        $.dialog.init();
        return this;
    };   

    $.dialog.init = function(){
        _renderDOM();
        _bindEvent();
    };

    //插件
    $.fn.dialog = function(options){
        return this;
    };

    $.fn.dialog.defaults = {
        ...
        ok : function(){}
    }
})(window, window.Zepto || window.jQuery);
回答
編輯回答
孤星

沒看懂,我理解的是回調(diào)函數(shù)的return false會阻止窗口關(guān)閉,改一下運(yùn)行順序,先執(zhí)行關(guān)閉方法,再運(yùn)行回調(diào)函數(shù)

2017年10月10日 17:59