jquery Esc按钮退出弹出框

最近在做功能的时候,每次关闭弹出框都要进行点击关闭按钮,着实有点烦躁,所以在网上搜罗了很多的Esc按钮进行退出弹出框,在这里记录一笔方便以后使用
Esc按钮退出,这里使用的背景是在使用jQuery EasyUi时的扩展功能
easyui扩展

js文件
(function ($) {

    $.util.namespace("$.fn.window.extensions");


    $(function () {
        //  在当前打开 modal:true 的 easyui-window 或者 easyui-dialog 时,按 ESC 键关闭顶层的 easyui-window 或者 easyui-dialog 对象。
        $(document).keydown(function (e) {
            if (e.which != 27) {
                return;
            }

            var items = $("div.window-mask:visible");
            if (!items.length) {
                return;
            }
            var item = $.array.max(items, function (a, b) {
                return $(a).css("zindex") - $(b).css("zindex");
            })
            $(item).prevAll("div.panel.window:first").children(".window-body").each(function () {
                if (!$.data(this, "window")) {
                    return;
                }
                var t = $(this),
                    opts = t.window("options");
                if (opts && opts.closable && opts.closeOnEsc && !t.window("header").find(".panel-tool a").attr("disabled")) {
                    t.window("close");
                }
            });
        });
    });

    var methods = {

    };

    var defaults = {

        //  扩展 easyui-window 以及 easyui-dialog 控件的自定义属性,表示该窗口为模式窗口时,是否在按下 ESC 时关闭该窗口,默认为 true。
        //  落阳注:要使该自定义属性有效,window/dialog 的options中,modal 属性和 closable 属性必须为 true 。
        closeOnEsc: true
    };

    var compent = $.fn.window;
    if (compent.extensions.defaults) {
        $.extend(compent.extensions.defaults, defaults);
    } else {
        compent.extensions.defaults = defaults;
    }

    if (compent.extensions.methods) {
        $.extend(compent.extensions.methods, methods);
    } else {
        compent.extensions.methods = methods;
    }

    $.extend(compent.defaults, defaults);
    $.extend(compent.methods, methods);

})(jQuery);
前台使用

在对应的弹出框中增加closeOnEsc:true


其实这个方法很简单,改吧改吧就是自己的了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值