jQuery(非HTML5)可编辑表格实现代码_jquery
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了jQuery(非HTML5)可编辑表格实现代码_jquery,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2991字,纯文字阅读大概需要5分钟。
内容图文
功能:单击单元格选中,选中过程中使用方向键更换选中的单元格,选中过程中按回车键或者直接双击单元格进入可编辑状态,单元格失去焦点时保存修改的内容。
主要实现思路:
选中,移动选中区域等都是依靠jQuery强大的API进行实现的。而可编辑的单元格实际上是在选中单元格时,在单元格上面添加个input输入域,动态的更新数据
源代码:
HTML代码:
Item1 | Item2 | Item3 |
---|---|---|
arthinking | Jason | itzhai |
arthinking | Jason | itzhai |
arthinking | Jason | itzhai |
CSS代码:
body{
text-shadow:#FFFFFF 1px 1px 1px;
}
.editableTable{
width: 220px;
padding: 10px;
background-color: #DDEEF6;
border:1px solid #DDEEF6;
-webkit-border-radius: 6px;
-moz-border-radius: 6px;
}
.editableTable thead{
background:#FFFFCC;
}
td{
background:#66CCFF;
cursor:pointer;
}
.selectCell{
background:#6699FF;
}
JS代码:
var EdTable = function(){
// 给单元格绑定事件
function initBindGridEvent(){
$("td.editable").unbind();
// 添加单元格点击事件
addGridClickEvent();
// 添加单元格双击事件
addGridDbClickEvent();
// 添加键盘事件
addGridKeyPressEvent();
}
// 给单元格添加单击事件
function addGridClickEvent(){
$("td.simpleInput").bind("click",function(){
$('.simpleInput').each(function(){
$(this).removeClass("selectCell");
});
// 给选中的元素添加选中样式
$(this).addClass("selectCell");
});
}
//给单元格添加双击事件
function addGridDbClickEvent(){
$("td.simpleInput").bind("dblclick",function(){
$('.simpleInput').each(function(){
$(this).removeClass("selectCell");
});
var val=$(this).html();
var width = $(this).css("width");
var height = $(this).css("height");
$(this).html("");
$(this).children("input").select();
});
}
// 给单元格添加键盘事件
function addGridKeyPressEvent(){
$(document).keyup(function(event){
if(event.keyCode == 37){
// 左箭头
var selectCell = $(".selectCell").prev()[0];
if(selectCell != undefined){
$(".selectCell").removeClass("selectCell").prev().addClass("selectCell");
}
} else if(event.keyCode == 38){
// 上箭头
var col = $(".selectCell").prevAll().length;
var topCell = $(".selectCell").parent("tr").prev().children()[col];
if(topCell != undefined){
$(".selectCell").removeClass("selectCell");
$(topCell).addClass("selectCell");
}
} else if(event.keyCode == 39){
// 右箭头
var selectCell = $(".selectCell").next()[0];
if(selectCell != undefined){
$(".selectCell").removeClass("selectCell").next().addClass("selectCell");
}
} else if(event.keyCode == 40){
// 下箭头
var col = $(".selectCell").prevAll().length;
var topCell = $(".selectCell").parent("tr").next().children()[col];
if(topCell != undefined){
$(".selectCell").removeClass("selectCell");
$(topCell).addClass("selectCell");
}
} else if(event.keyCode == 13){
// 回车键
var selectCell = $(".selectCell")[0];
if(selectCell != undefined){
$(selectCell).dblclick();
}
}
});
}
// 单元格失去焦点后保存表格信息
function saveEdit(gridCell){
var pnt=$(gridCell).parent();
$(pnt).html($(gridCell).attr("value"));
$(gridCell).remove();
}
return{
initBindGridEvent : initBindGridEvent,
saveEdit : saveEdit
}
}();
源代码下载:
EditableTable.rar
内容总结
以上是互联网集市为您收集整理的jQuery(非HTML5)可编辑表格实现代码_jquery全部内容,希望文章能够帮你解决jQuery(非HTML5)可编辑表格实现代码_jquery所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。