实现div可编辑的常见方法总结

功能:实现网页内容的即时编辑,增加页面的可用性、交互性。
方法1:直接通过textarea标签实现,请运行下边代码:

New Document

#info {
font-size: 12px;
overflow:hidden;
background-color: #ffffcc;
color: black;
padding-right:5px;
padding-left:5px;
font-family: courier;
width:100%;
letter-spacing:0;
line-height:12px;
border-style:none;
}

function saveInfo() {
var text = document.getElementById("info").value;
//再用ajax向数据库中更新当前修改内容
}
function setCols() {
var textarea = document.getElementById("info");
textarea.setAttribute("cols", Math.floor(textarea.clientWidth / 7));
setRows();
}
function setRows() {
var textarea = document.getElementById("info");
var cols = textarea.cols;
var str = textarea.value;
str = str.replace(/\r\n?/, "\n");
var lines = 2;
var chars = 0;
for (i = 0; i

[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]

思路:将textarea通过CSS样式设计成让用户感觉不像是textarea的样子,通过onblur、oumouseout等属性进行ajax保存用户数据。
方法二:通过document.createElement的方法向页面增加input来实现。请运行下边代码:

New Document

点击这里就可以编辑

[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]

思路:
1、当用户鼠标经过可编辑区域时,用背景色等方式提醒用户该区域可编辑。
2、当用户鼠标点击该区域时,也就是onclick事件时,先将原来的内容清掉,将临时创建出来一个输入框和一个输入按扭。
3、用户修改完后,点击“保存”按扭时通过ajax向数据库中写入新的数据。
PS:第二个方法的代码还有点问题,有空再来调试一下。

(0)

相关推荐

  • 用javascript实现div可编辑的常见方法

    功能:实现网页内容的即时编辑,增加页面的可用性.交互性. 方法1:直接通过textarea标签实现,请运行下边代码: New Document #info { font-size: 12px; overflow:hidden; background-color: #ffffcc; color: black; padding-right:5px; padding-left:5px; font-family: courier; width:100%; letter-spacing:0; line-h

  • 实现div可编辑的常见方法总结

    功能:实现网页内容的即时编辑,增加页面的可用性.交互性. 方法1:直接通过textarea标签实现,请运行下边代码: New Document #info { font-size: 12px; overflow:hidden; background-color: #ffffcc; color: black; padding-right:5px; padding-left:5px; font-family: courier; width:100%; letter-spacing:0; line-h

  • jQuery实现点击表格单元格就可以编辑内容的方法【测试可用】

    本文实例讲述了jQuery实现点击表格单元格就可以编辑内容的方法.分享给大家供大家参考,具体如下: 运行效果截图如下: 具体代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/

  • jQuery ajax调用后台aspx后台文件的两种常见方法(不是ashx)

    在asp.net webForm开发中,用Jquery ajax调用aspx页面的方法常用的有两种:下面我来简单介绍一下. (1)通过aspx.cs的静态方法+WebMethod进行处理 简单的介绍下WebMethod方法的用法 1.修饰符主要用public static修饰 2.方法前面加上[WebMethod]属性表明这是WebMethod方法 3.前台html页面(Client端)访问时要使用post方法,和后台.cs文件进行数据交互,否则会返回整个html页面. 4.当后台页面返回数据后

  • js控制div层的叠加简单方法

    如下所示: <style type="text/css"> .favorite_icon{float:left; padding: 0 0 0 30px;} .favorite_label{float:left; width:950px;} .favorite_label h2{ border-bottom: medium none;height: 60px;padding: 0.8em 0 0 0px;} .favorite_title{height:60px;margi

  • jQuery中的一些常见方法小结(推荐)

    1.filter()和not()方法 filter()和not()是一对反方法,filter()是过滤. filter()方法是针对元素自身.(跟has()方法有区别) <script type="text/javascript" src="jquery-1.12.3.min.js"></script> <script> /*filter(): 过滤 not():filter的反义词<BR>*/ $(function(

  • Vue封装的可编辑表格插件方法

    可任意合并表头,实现单元格编辑. 页面效果如图: 页面使用如下: <template> <div> <v-table :datat = "tableData" :thlabel="thlabel" :isEdit="true"> </v-table> </div> </template> <script> export default{ data(){ retur

  • layui点击按钮添加可编辑的一行方法

    昨天已经成功添加了一行,今天希望所添加的一行可以进行单元格编辑. 然而,发现添加了edit:'text'以后也不可以进行单元格编辑,而原本已有的数据可以,因此通过浏览器调试看了原有数据的样式,如图所示: 因此,将点击按钮添加一行<tr>标签的方法,修改为如下: $("#addTable").click(function(){ var tr=" <tr>"+ " <td data-field='domainId' data-ed

  • vue 设置 input 为不可以编辑的实现方法

    我用最笨的方法,先实现功能先,用两个input,一个可以编辑,一个不可以编辑,失去焦点后隐藏可以点击的那个,点"编辑"时,显示可以编辑的那个input <div class="edit-item"> <input type="text" id="group-name" v-model="groupName" class="edit-input" disabled v-s

  • javascript操作元素的常见方法小结

    本文实例讲述了javascript操作元素的常见方法.分享给大家供大家参考,具体如下: 获取元素方法一 可以使用内置对象document上的getElementById方法来获取页面上设置了id属性的元素,获取到的是一个html对象,然后将它赋值给一个变量,比如: <script type="text/javascript"> var oDiv = document.getElementById('div1'); </script> .... <div i

随机推荐