双击空白添加行
来源:互联网 发布:web后端性能优化 编辑:程序博客网 时间:2024/05/21 09:01
<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">双击表某两行之间空白,自动在空白位置插入新的一行</span>
表样例:
<div id = "div1"> <table id = "table1" ondblclick = "addRow(event)" > <tr> <td>+</td> <td>first</td> <td>check</td> </tr> <tr> <td>+</td> <td>first</td> <td>check</td> </tr> <tr> <td>+</td> <td>first</td> <td>check</td> </tr> <tr> <td>+</td> <td>first</td> <td>check</td> </tr> </table></div>
js代码如下:
/*新增行*/function addRow(e){ var e_py = getPositionY(e); var tr = newTR(); alert("事件位置top: " + e_py); var only_tr = getTR(e_py); if(only_tr != null) $(getTR(e_py)).after(tr);}/*根据事件y绝对坐标判断获取tr*/function getTR(only_y){ var tableChildren = $('#table1').children(); var strs = $(tableChildren[0]).children(); var tr_height = $(strs[0]).height(); var tr_top; var tr2_top; var min_height; var max_height; for(i=0;i<strs.length -1 ;i++){/* */ tr_top = $(strs[i]).offset().top; tr2_top = $(strs[i+1]).offset().top; min_height = tr_top + 2*tr_height/3; max_height = tr2_top + tr_height/3; alert("min_height:" + min_height + " max_height: " + max_height + "only_y: " + only_y); if(min_height < only_y && max_height > only_y) break; else if(i == strs.length -2 ) if(only_y > (tr2_top + 2*tr_height/3)) { }else return null; } alert("当前行:" + i); return strs[i] ;}/*新创建一行*/function newTR(){ var tr = document.createElement("tr"); var td3 = document.createElement("td"); td3.innerHTML = "*"; tr.appendChild(td3); var td2 = document.createElement("td"); td2.innerHTML = "value" ; tr.appendChild(td2); var td1 = document.createElement("td"); td1.innerHTML = "name" ; tr.appendChild(td1); return tr;}/*获取事件的绝对y坐标*/function getPositionY(e) { var targ ; if(e){ targ = e.target; } var posY = $(targ).offset().top + e.offsetY; alert("事件绝对坐标:" + posY); return posY;}
样式:
table{ margin: auto; border: 1px solid black; width:100% ; height:100% ; cellpadding: 0 ; cellspacing: 0;}tr{ margin: auto; cellpadding: 0 ; cellspacing: 0;}td { border: 1px solid black; margin: 0; }div{ background-color:#cccccc; padding: 0 ; margin: 0; text-align:center;}
0 0
- 双击空白添加行
- 双击空白添加行与单元格
- DataTable 添加空白行
- gridview添加空白行
- microsoft project 添加空行 空白行 空白任务
- 给DataGrid单元行添加双击事件
- 给DataGrid单元行添加双击事件
- 给DataGrid单元行添加双击事件
- 自定义gridview添加行双击事件
- 在table control 上添加空白行
- 解决excel2016双击打开空白问题
- CListCtrl添加双击事件
- View 添加双击事件
- js添加删除行和双击变文本框
- js添加删除行和双击变文本框的脚本
- JS动态生成表单,并添加行双击事件
- bootstrap table 双击可编辑,添加、删除行
- GridView中数据不满一页时,添加空白行方法
- [android开发之内容更新类APP]四、项目的基本功能之布局(续)
- VC动态库调用方法
- jq锚点动作加返回顶部
- CSS3中border-image属性详解
- window下,使用Apache + Tomcat +mod_jk 搭建集群
- 双击空白添加行
- JS课程
- KingBase学习NO.1(安装)
- 常用windows命令
- 函数指针
- TFS 2012使用简介
- nodejs>>fs
- 欧拉函数O(sqrt(n))
- 使用 POI 操纵 Excel 2007