数码资讯
基于jQuery制作可编辑的表格效果
最近,一个项目已经完成。项目需要:点击表单后,可以直接编辑,输入或点击页面,然后在其他地方编辑。Esc可以取消编辑。 2个小伙伴给出了两个解决方案。哪个更适合大家看 单击可以编辑的表的第一种方法。 复制代码代码如下所示: / /等效在body标签的页面的onload事件 $(函数(){()) 查找所
选购提示
关注价格、性能、续航、售后和真实使用场景,理性比较后再下单。
最近,一个项目已经完成。项目需要:点击表单后,可以直接编辑,输入或点击页面,然后在其他地方编辑。Esc可以取消编辑。
2个小伙伴给出了两个解决方案。哪个更适合大家看
单击可以编辑的表的第一种方法。
复制代码代码如下所示:
/ /等效在body标签的页面的onload事件
$(函数(){())
查找所有TD节点
var = $();
所有TD添加一个单击事件
Tds.click(function(){()
单击对象获取当前
var = $($);
删除当前保存的文本
无功oldtext = td.text();
创建一个文本框,设置文本框的值以保存该值
变量输入= $( );
当前的对象内容被设置为输入。
Td.html(输入);
设置文本框单击失败事件
Input.click(function(){()
返回false;
});
设置文本框样式
Input.css(边框宽度
Input.css(字体大小
Input.css(文本对齐
设置文本框宽度等于TD的宽度。
Input.width(td.width());
选择文本框具有焦点时触发的事件
Input.trigger(热点)。Trigger(选择);
当文本框失去焦点回到文本中时
Input.blur(function(){()
input_blur = $(this)功;
保存文本框的当前内容
无功newtext = input_blur.val();
Td.html(newtext);
});
响应键盘事件
Input.keyup(功能(事件){)
获取密钥
keyEvent =事件window.event | | VaR;
var关键字= keyevent.keycode;
获取当前对象
input_blur = $(this)功;
开关(键)
{
案例13:按回车键保存当前文本框的内容
无功newtext = input_blur.val();
Td.html(newtext);
打破;
案例27:按下ESC键,取消修改,并将文本框转换为文本。
Td.html(oldtext);
打破;
}
});
});
});
可以编辑的第二种单击表单
复制代码代码如下所示:
$(文档)Ready(函数(){)
var = $();
Tds.click(tdclick);
});
功能tdclick(){
tdnode = $(this)功;
无功tdtext = tdnode.text();
Tdnode.html();
变量输入= $( );
Input.val(tdtext); / / input.attr(价值,tdtext);
Input.keyup(功能(事件){)
风险事件| | window.event事件=;
VaR密码= myevent.keycode;
如果(密码= = 13){
无功输入节点(这)= $;
VaR inputText = inputnode.val();
VaR技术inputnode.parent();
Td.html(inputText);
Td.click(tdclick);
}
如果(密码= = 27){ / /确定ESC键被按下
$(这)。父()Html(tdtext);
$(这)。父()Click(tdclick);
}
});
Tdnode.append(输入);
tdnode.children(输入)。Trigger(选择);
输入/丢失输入框,方法的实现
Input.blur(function(){()
tdnode.html($(this)。瓦迩());
Tdnode.click(tdclick);
});
Tdnode.unbind(点击);
}
相比之下,个人更像第二类。合伙人的意见是什么欢迎到我这里来。
2个小伙伴给出了两个解决方案。哪个更适合大家看
单击可以编辑的表的第一种方法。
复制代码代码如下所示:
/ /等效在body标签的页面的onload事件
$(函数(){())
查找所有TD节点
var = $();
所有TD添加一个单击事件
Tds.click(function(){()
单击对象获取当前
var = $($);
删除当前保存的文本
无功oldtext = td.text();
创建一个文本框,设置文本框的值以保存该值
变量输入= $( );
当前的对象内容被设置为输入。
Td.html(输入);
设置文本框单击失败事件
Input.click(function(){()
返回false;
});
设置文本框样式
Input.css(边框宽度
Input.css(字体大小
Input.css(文本对齐
设置文本框宽度等于TD的宽度。
Input.width(td.width());
选择文本框具有焦点时触发的事件
Input.trigger(热点)。Trigger(选择);
当文本框失去焦点回到文本中时
Input.blur(function(){()
input_blur = $(this)功;
保存文本框的当前内容
无功newtext = input_blur.val();
Td.html(newtext);
});
响应键盘事件
Input.keyup(功能(事件){)
获取密钥
keyEvent =事件window.event | | VaR;
var关键字= keyevent.keycode;
获取当前对象
input_blur = $(this)功;
开关(键)
{
案例13:按回车键保存当前文本框的内容
无功newtext = input_blur.val();
Td.html(newtext);
打破;
案例27:按下ESC键,取消修改,并将文本框转换为文本。
Td.html(oldtext);
打破;
}
});
});
});
可以编辑的第二种单击表单
复制代码代码如下所示:
$(文档)Ready(函数(){)
var = $();
Tds.click(tdclick);
});
功能tdclick(){
tdnode = $(this)功;
无功tdtext = tdnode.text();
Tdnode.html();
变量输入= $( );
Input.val(tdtext); / / input.attr(价值,tdtext);
Input.keyup(功能(事件){)
风险事件| | window.event事件=;
VaR密码= myevent.keycode;
如果(密码= = 13){
无功输入节点(这)= $;
VaR inputText = inputnode.val();
VaR技术inputnode.parent();
Td.html(inputText);
Td.click(tdclick);
}
如果(密码= = 27){ / /确定ESC键被按下
$(这)。父()Html(tdtext);
$(这)。父()Click(tdclick);
}
});
Tdnode.append(输入);
tdnode.children(输入)。Trigger(选择);
输入/丢失输入框,方法的实现
Input.blur(function(){()
tdnode.html($(this)。瓦迩());
Tdnode.click(tdclick);
});
Tdnode.unbind(点击);
}
相比之下,个人更像第二类。合伙人的意见是什么欢迎到我这里来。
声明:本文内容用于数码产品信息整理与选购参考,具体价格、库存、售后政策以官方渠道和电商页面实时信息为准。