zoukankan      html  css  js  c++  java
  • JS实现双击编辑可修改状态

    js实现双击编辑,点击他处时自动保存。(如下代码可直接运行,无需jquery系列jar)

    <!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/1999/xhtml">
    <head>
    <title>JS实现双击编辑可修改状态</title>
    <meta http-equiv="content-type" content="text/html;charset=utf-8" />
    <script type="text/javascript">
        function ShowElement(element) {
            var oldhtml = element.innerHTML;
            //创建新的input元素
            var newobj = document.createElement('input');
            //为新增元素添加类型
            newobj.type = 'text';
            //为新增元素添加value值
            newobj.value = oldhtml;
            //为新增元素添加光标离开事件
            newobj.onblur = function() {
                //当触发时判断新增元素值是否为空,为空则不修改,并返回原有值 
                element.innerHTML = this.value == oldhtml ? oldhtml : this.value;
                //当触发时设置父节点的双击事件为ShowElement、也可在这里进行保存动作
                element.setAttribute("ondblclick", "ShowElement(this);");
            }
            //设置该标签的子节点为空
            element.innerHTML = '';
            //添加该标签的子节点,input对象
            element.appendChild(newobj);
            //设置选择文本的内容或设置光标位置(两个参数:start,end;start为开始位置,end为结束位置;如果开始位置和结束位置相同则就是光标位置)
            newobj.setSelectionRange(0, oldhtml.length);
            //设置获得光标
            newobj.focus();
    
            //设置父节点的双击事件为空
            newobj.parentNode.setAttribute("ondblclick", "");
    
        }
    </script>
    </head>
    <body>
        <dl>
            <dt>你的用户名:</dt>
            <dd ondblclick="ShowElement(this)">三人行</dd>
            <dt>你的个性档</dt>
            <dd ondblclick="ShowElement(this)">三人行,必有我师焉!</dd>
        </dl>
    </body>
    </html>
  • 相关阅读:
    POJ1321 棋盘问题
    HDU1234 开门人和关门人(解法二)
    HDU1234 开门人和关门人(解法二)
    HDU1996 汉诺塔VI
    HDU1996 汉诺塔VI
    HDU1013 POJ1519 Digital Roots(解法二)
    HDU1013 POJ1519 Digital Roots(解法二)
    HDU4548 美素数
    HDU4548 美素数
    POJ3751 时间日期格式转换【日期计算】
  • 原文地址:https://www.cnblogs.com/haohao111/p/10966003.html
Copyright © 2011-2022 走看看