博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
解决input的回车enter和失焦blur冲突问题:实现回车保存,blur还原编辑内容功能...
阅读量:6605 次
发布时间:2019-06-24

本文共 1472 字,大约阅读时间需要 4 分钟。

 最近做项目遇到:

背景:点击单元格,easyUI自动生成input可编辑框。

问题点:input的回车enter和失焦blur冲突问题:实现回车保存,blur还原编辑内容功能

要实现需求:

1、回车键保存编辑内容

2、input框失去焦点后,不保存编辑内容,还原为原来内容。

 

 如下图所示:

 

 

编程中遇到的棘手问题:

  按下回车后,保存不了编辑的内容。原因是按下回车,先触发input框的blur事件(此时导致编辑内容被还原,保存不了内容),才触发回车事件。

 

经过多方尝试,摸索出一下解决办法,终于解决回车和blur冲突的问题,具体代码如下:

var inputEditor = $("input.datagrid-editable-input");//單元格input元素        //input生成后,自動獲取聚焦        inputEditor.focus();        //input失去焦點,撤銷編輯操作,恢復原來的值,不保存        inputEditor.bind("blur",function(evt){            reject();        });        //按鍵按下,如果是回車鍵,則保存編輯內容        inputEditor.bind("keypress",function(evt){            var keyCode = evt.keyCode;            if(keyCode == 13){  //回车事件//                alert(evt.keyCode);                $(this).unbind("blur");                accept();            }        });        /*        * input獲取焦點后,綁定blur事件        * 在input已獲取焦點的前提下,點擊文檔任何位置,取消編輯內容        * 如果是回車鍵按下,則取消綁定blur,保存編輯內容        * */        inputEditor.bind("focus",function(evt){            $(this).bind("blur",function(evt){                reject();            });            $(document).bind("click",function(){                reject();            });            $(this).bind("keypress",function(){                var keyCode = evt.keyCode;                if(keyCode == 13){  //回车事件//                alert(evt.keyCode);                    $(this).unbind("blur");                    accept();                }            });        });

 

转载于:https://www.cnblogs.com/baiyangyuanzi/p/6568237.html

你可能感兴趣的文章
手机浏览器旋转为宽屏模式下文字会自动放大的解决方案
查看>>
【转】关于大型网站技术演进的思考(十二)--网站静态化处理—缓存(4)
查看>>
积跬步,聚小流------Bootstrap学习记录(1)
查看>>
HDUPhysical Examination(贪心)
查看>>
HTML5 FileAPI
查看>>
使用tdcss.js轻松制作自己的style guide
查看>>
SecureCRTPortable.exe 如何上传文件
查看>>
C++中public、protected及private用法
查看>>
苹果公司的产品已用完后门与微软垄断,要检查起来,打架!
查看>>
顶级的JavaScript框架、库、工具及其使用
查看>>
AYUI -AYUI风格的 超美 百度网盘8.0
查看>>
简明 Python 教程
查看>>
Photoshop操作指南
查看>>
用MPMoviePlayerController做在线音乐播放
查看>>
嵌入式开发之字符叠加---gb2313 国标码,utf8 国际码,unicode 无码
查看>>
Java查找算法——二分查找
查看>>
如何构建微服务架构
查看>>
【前端笔记】彻底理解变量与函数的声明提升
查看>>
Android 反编译利器,jadx 的高级技巧
查看>>
Mycat 读写分离 数据库分库分表 中间件 安装部署
查看>>