获取触发onchange之前input的旧值

2024年1月4日21:56:10

获取触发onchange之前input的旧值

expando 可能是 expandable object 的缩写,表示可扩展的对象。expando property 表示可扩展对象的动态属性,可以在运行时动态添加到对象中的属性。 “JavaScript 中的所有对象均支持 expando 属性和方法,这些属性和方法可在运行时动态添加和移除。”

<input id="CardSn" type="text" onchange="onChangeTest(this);this.oldvalue = this.value;" />

<script>
  function onChangeTest(textbox) {
    alert("Value is " + textbox.value + "\n" + "Old Value is " + textbox.oldvalue);
  }
</script>

图1

图2

小需求:实现每次来值,都会替换掉input先前的值,只需要把onChangeTest如下更改(不足就是input输入框可能会有文本闪动):

function onChangeTest(this) {
  // alert("Value is " + this.value + "\n" + "Old Value is " + this.oldvalue);
  const end = this.value.length
  if(!this.oldvalue) return
  this.value = this.value.slice(this.oldvalue.length, end)
}

图三

posted @ 2024-01-04 22:11  邪妖怪  阅读(129)  评论(0编辑  收藏  举报