Jquery实现行内编辑
来源:互联网 发布:二手笔记本 知乎 编辑:程序博客网 时间:2024/05/18 05:53
做项目的时候,UI封装了好了一个行内编辑,当时用起来的时候觉得高大上啊,好奇是怎么实现的,现在研究了一下,了解到了,其实行内编辑就是做了点小动作,让用户觉得点击这行的时候就可以对这行的内容进行编辑,点击回车的时候则可以提交所编辑的内容,其实原理很简单,下面给大家介绍下:
首先这个是行内边界的效果图,我们点击其中的一行可对其进行操作,点击Esc键退出操作,点击回车键进行操作。
原理:
其实看似是对这行进行操作,其实是在我们点击这行的时候,给这行插入一个文本框,然后将这行的值赋值给文本框,让用户看似是点击这行对其进行编辑,其实是做了一些小动作,下面我们来介绍下代码:
<span style="font-family:KaiTi_GB2312;font-size:18px;">$(function () { $("tbody tr:even").css("background-color", "#ECE9D8"); //找到我们需要的单元格 var numId = $("tbody td:even"); 给这些单元格注册鼠标点击事件 numId.click(function () { //创建一个文本框 var inputObj = $("<input type='text'>"); //去掉文本框的边框 inputObj.css("border-width", "0"); //设置文本框中的文字大小是16px inputObj.css("font-size", "16px"); //找到当鼠标点击的td,this对应的就是响应了click的那个td var tdObj = $(this); //将文本框的宽度和td的宽度相同 inputObj.width(tdObj.width()); //设置文本框的背景色 inputObj.css("background-color", tdObj.css("background-color")); //需要将当前td中的内容放到文本框中 inputObj.val(tdObj.html()); //清空td中的内容 tdObj.html(""); //将文本框插入到td中 inputObj.appendTo(tdObj); }); }); </span>
精简后的代码:
<span style="font-family:KaiTi_GB2312;font-size:18px;"> numId.click(function () { var tdObj = $(this); var text = tdObj.html(); tdObj.html(""); var inputObj = $("<input type='text'>").css("border-width", "0") .css("font-size", "16px").width(tdObj.width()) .css("background-color", tdObj.css("background-color")) .val(text).appendTo(tdObj); //是文本框插入之后被选中 inputObj.get(0).select(); inputObj.click(function () { return false; }); //处理文本框上回车和esc按键的操作 inputObj.keyup(function (event) { //获取当前按下键盘的键值 //处理回车的情况 var keycode = event.which if (keycode == 13) { var inputtext = $(this).val(); tdObj.html(inputtext); } if (keycode == 27) { tdObj.html(text); } }); });</span>
行内编辑就这样成功的实现了。
2 0
- Jquery实现行内编辑
- Easy UI实现行内编辑
- easyui实现datagrid行内编辑
- bootstrap-table 行内编辑简单实现
- jquery实现编辑表格
- bootstrapTable行内编辑
- jquery 页面内编辑的表格
- easyui datagrid实现行内编辑一列数据
- bootstrap-table行内编辑表格的实现
- jquery实现动态表格编辑
- jquery 实现可编辑DIV
- jQuery实现可编辑表格
- jQuery实现可编辑表格
- jQuery实现可编辑表格
- jQuery实现可编辑表格
- JQuery实现可编辑表格
- jquery 实现可编辑div
- Jquery实现拖拽可编辑模块
- codeforces 560 A. Currency System in Geraldion
- 数据结构---单链表(1)
- 【图论】【二分图匹配】[BZOJ 1085]完美的牛栏
- 手动控制事务
- 【leetcode c++】102 Binary Tree Level Order Traversal
- Jquery实现行内编辑
- Java中AtomicInteger的使用!!!
- Java 集合类图 详解
- Spring@Autowired注解与自动装配
- 国内外三个不同领域巨头分享的Redis实战经验及使用场景
- 笔记117--AsyncTask随Activity结束而终止
- 【YII2学习笔记】20150727-1
- Java虚拟机垃圾收集器
- 使用Cocos2d-JS开发H5游戏