JS实现双击内容变为可编辑状态

 更新时间:2017年03月03日 10:16:52   作者:mingqingyuefeng  
在一些网站上我们经常看到交互性很强的功能。一些用户资料可以直接双击出现文本框,并在此输入新的资料即可修改,无需再按确定按钮等。怎么实现的呢?今天小编给大家分享JS实现双击内容变为可编辑状态,需要的的朋友参考下

在一些网站上我们经常看到交互性很强的功能。一些用户资料可以直接双击出现文本框,并在此输入新的资料即可修改,无需再按确定按钮等。。

我在网上查了很多资料,但都有一个小bug,就是当获取焦点后,光标的位置在文本框内容是开始处,这样编辑时还需要用户再重新选择一下光标位置,这样的交互感觉不好;后来查到新的资料解决了此问题,希望可以帮助到更多的人。

代码部分:

注意:设置选择文本的内容或设置光标位置

<!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;
      //当触发时判断新增元素值是否为空,为空则不修改,并返回原有值 
    }
    //设置该标签的子节点为空
    element.innerHTML = '';
    //添加该标签的子节点,input对象
    element.appendChild(newobj);
    //设置选择文本的内容或设置光标位置(两个参数:start,end;start为开始位置,end为结束位置;如果开始位置和结束位置相同则就是光标位置)
    newobj.setSelectionRange(0, oldhtml.length);
    //设置获得光标
    newobj.focus();
  }
</script>
</head>
<body>
  <dl>
    <dt>你的用户名:</dt>
    <dd ondblclick="ShowElement(this)">三人行</dd>
    <dt>你的个性档</dt>
    <dd ondblclick="ShowElement(this)">三人行,必有我师焉!</dd>
  </dl>
</body>
</html>

双击事件:ondblclick

以上所述是小编给大家介绍的JS实现双击内容变为可编辑状态,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

相关文章

  • 用javascript获取任意颜色的更亮或更暗颜色值示例代码

    用javascript获取任意颜色的更亮或更暗颜色值示例代码

    最近在工作中遇到的一个需求,发现网上没有相对应的解决方法,索性自己写一个,所以这篇文章主要给大家介绍了关于利用javascript获取任意颜色更亮或更暗颜色值的相关资料,文中给出了详细的示例代码,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-07-07
  • 微信小程序实现MUI数字输入框效果

    微信小程序实现MUI数字输入框效果

    这篇文章主要为大家详细介绍了微信小程序实现MUI数字输入框效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-01-01
  • javascript搜索框点击文字消失失焦时文本出现

    javascript搜索框点击文字消失失焦时文本出现

    这篇文章主要介绍了javascript实现搜索框点击文字消失失焦时文本出现的效果,示例代码如下,大家可以看看
    2014-09-09
  • javascript实现蒙版与禁止页面滚动

    javascript实现蒙版与禁止页面滚动

    这篇文章主要为大家详细介绍了javascript实现蒙版与禁止页面滚动,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-01-01
  • js取消单选按钮选中示例代码

    js取消单选按钮选中示例代码

    取消单选按钮选中的方法有很多,下面为大家详细介绍下使用js是如何实现的,感兴趣的朋友不要错过
    2013-11-11
  • 如何在 JavaScript 中更好地利用数组

    如何在 JavaScript 中更好地利用数组

    这篇文章主要介绍了如何在 JavaScript 中更好地使用数组,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2018-09-09
  • Bootstrap表单控件使用方法详解

    Bootstrap表单控件使用方法详解

    Bootstrap让Web开发更迅速、更简单,这篇文章主要为大家详细介绍了Bootstrap表单控件,用来与用户做交流的一个网页控件,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-01-01
  • JavaScript中eval和with语句如何影响作用域链的深度探索

    JavaScript中eval和with语句如何影响作用域链的深度探索

    这篇文章主要为大家介绍了JavaScript中eval和with语句如何影响作用域链的深度探索,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-05-05
  • JavaScript必看小技巧(必看)

    JavaScript必看小技巧(必看)

    下面小编就为大家带来一篇JavaScript必看小技巧(必看)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-06-06
  • 详解js如何优雅处理后端返回的单元格数据

    详解js如何优雅处理后端返回的单元格数据

    这篇文章主要为大家详细介绍了JavaScript如何优雅处理后端返回的单元格数据,文中的示例代码讲解详细,有需要的小伙伴可以跟随小编一起学习一下
    2023-10-10

最新评论