原生js实现数据同步(oninput)

<!DOCTYPE html>
<html>
<head>
  <title>同步显示</title>
  <meta charset="utf-8">
</head>
<body>
  <div>
    <input type="text" name="user_input">
    <span id="content">你输入的内容是:</span>
  </div>
  <script type="text/javascript">
    var de = document.getElementById("content");
    var txt = de.innerHTML;
    document.getElementsByTagName("input")[0].oninput = function () {
      document.getElementById("content").innerHTML = txt+this.value;
    }
  </script>
</body>
</html>

1,这里使用input的text类型,oninput事件会在文本框获得焦点期间处于持续触发状态,直到失去焦点。

2,若使用onchange事件,会在输入完成后按下回车,或者点一下其他位置才会触发,说明onchange事件在文本框获得焦点时就绪,在失去焦点时才触发,所以不能实现在每输入一个新字符时将内容同步到span标签内。

ps:如果写成:

document.getElementById("content").innerHTML += this.value;
这行代码会导致文本框的值反复的被添加到span,所以提前声明一个txt,保存初始值,写成如下
 document.getElementById("content").innerHTML = txt+this.value;

 



转载于:https://www.cnblogs.com/missmissmiss/p/8673436.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值