layer 弹窗,enter 、esc 按键监听确定、取消事件

最近做新项目,测试提出,要给系统所有的弹窗设置enter 按键的确定绑定。 由于之前做项目的时候没有考虑这方面, 所以页面模块有很多弹窗,心想着这也不能一个个的增加监听事件啊,而且弹窗的类型还都不一样,所以就想着有没有类似公共方法的调用的方式。

今,把此方法记录下来。 包括事件监听,以及简单的全局调用

代码如下:

javascript 复制代码
const enterEsc_event = {
                success: () => {
                    //enter键触发确定
                    this.enterConfirm = (event) => {
                        let codeVal = event.which;
                        if(codeVal == 13){
                            $('.layui-layer-btn0').click();
                            return false;
                        }
                    };
                    $(document).on('keydown', this.enterConfirm);
                    //esc键触发取消
                    this.escQuit = (ev) => {
                        let code_val = ev.which;
                        if(code_val == 0x1B){
                            $('.layui-layer-btn1').click();
                            return false;
                        }
                    };
                    $(document).on('keydown', this.escQuit);
                },
                end: () => {
                    $(document).off('keydown', this.enterConfirm);
                    $(document).off('keydown', this.escQuit);
                }
            };

其中,把 layer 的方法success 和 end,定义在公共文件中的一个叫enterEsc_event 的对象里面。 然后再调用它

调用环境一:

javascript 复制代码
 let det = layer.confirm('确认删除吗?', enterEsc_event, function(){});

调用环境二:

javascript 复制代码
var indexL = layer.confirm("您确定要退出登录吗?",{
                    title: '退出登录',
                    success: enterEsc_event.success,
                    end: enterEsc_event.end
                },function(layero, index){
                });

环境二是考虑到你可能要对这个弹窗写其他的一些属性和方法的情况。

以上,本文内容结束! 如有建议,请留言。

(什么时候能发财,然后再去三亚呢....)

作者:麦田_426

链接:https://www.jianshu.com/p/7048865e43ce

来源:简书

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

相关推荐
陆枫Larry15 分钟前
一次登录问题排查:接口没错,错的是旧业务逻辑
前端
小小小小宇21 分钟前
大模型打分与采样原理,以及 Pi Agent 核心原理
前端
Java后端的Ai之路29 分钟前
14、Python - 责任链模式
服务器·开发语言·人工智能·python·责任链模式
一位正在转型AI全栈的前端工程师1 小时前
AI 全栈学习之旅 -Week 5:RAG 知识库问答系统:从零到生产级部署的全栈实践总结
前端·python
光影少年1 小时前
react navite 安卓iOS 打包、签名、环境区分
前端·react native·react.js
coderCN1 小时前
Nodejs 第三十四章 数据库(表达式和函数、子查询和连表)
前端·node.js
从入门到退休1 小时前
企业远程控制选型:向日葵SDK vs RustDesk自建,谁是更务实的选择?
运维·服务器·网络·远程工作·远程控制
ssshooter2 小时前
AI 时代你不能不知道的 git worktree
前端·后端·面试
观测云2 小时前
AI时代的用户访问监测:观测云带你身临其境体验用户与前端UI交互旅程
前端·可观测性·观测云·rum
喵本喵叁肆2 小时前
06-M6-部门过滤与综合研判-从问答机到研判助手
前端·javascript·jquery