gpt4 book ai didi

javascript - <input> 元素上的 jQuery Change 事件 - 有什么方法可以保留以前的值?

转载 作者:IT王子 更新时间:2023-10-29 02:48:54 24 4
gpt4 key购买 nike

我今天早上一直在搜索,但没有找到任何简单的解决方案...基本上,我想捕获输入元素的变化,但也知道以前的值。

这是最简单形式的更改事件和输入元素。显然,我可以使用 $(elem).val() 获取新值,但是我是否缺少获取先前值的偷偷摸摸的方法?我在 jQuery API 中没有看到任何可以执行此操作的内容,但也许有人已经这样做并且有一些提示?

<script>
$(document).ready(function(){
$('#myInputElement').bind('change', function(){
//var oldvalue = ???
var newvalue = $(this).val();
});
});
</script>
<input id="myInputElement" type="text">

我不反对编写自己的解决方案,我只是想确保我不会在这里重新创建轮子。

最佳答案

更好的方法是使用 .data 存储旧值。这避免了创建一个全局变量,您应该远离它并将信息封装在元素中。关于为什么全局变量不好的一个真实世界的例子记录在案 here

例如

<script>
//look no global needed:)

$(document).ready(function(){
// Get the initial value
var $el = $('#myInputElement');
$el.data('oldVal', $el.val() );


$el.change(function(){
//store new value
var $this = $(this);
var newValue = $this.data('newVal', $this.val());
})
.focus(function(){
// Get the value when input gains focus
var oldValue = $(this).data('oldVal');
});
});
</script>
<input id="myInputElement" type="text">

关于javascript - &lt;input&gt; 元素上的 jQuery Change 事件 - 有什么方法可以保留以前的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1159046/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com