return false如何阻止对话框关闭

qq_40740624 2017-12-17 10:37:46
自己封装了一个弹出框插件,正常的情况下,点击OK,弹出框都会关闭,但是弹框内有表单验证,回调函数内需要有return false阻止关闭,现求插件里这个OK按钮回函数如何判断有return false就能阻止关闭

$.dialog({
type : 'confirm',
titleText:'',
html:'',
onClickOk:function(){
...
return false; //需要验证阻止关闭
}
});


;(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);
...全文
274 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
yenyen_421 2017-12-18
  • 打赏
  • 举报
回复
引用 2 楼 jslang 的回复:

        $(okBtn).on('click', function(e){
            if (settings.onClickOk()) //这里需要判断
                $.dialog.close();
            return false;
        });

这个还是不能阻止关闭啊
天际的海浪 2017-12-17
  • 打赏
  • 举报
回复

        $(okBtn).on('click', function(e){
            if (settings.onClickOk()) //这里需要判断
                $.dialog.close();
            return false;
        });

天际的海浪 2017-12-17
  • 打赏
  • 举报
回复

        $(okBtn).on('click', function(e){
            if (!settings.onClickOk()) //这里需要判断
                $.dialog.close();
            return false;
        });

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧