📅  最后修改于: 2023-12-03 14:52:22.038000             🧑  作者: Mango
在 jQuery 中,我们可以使用一些方法来比较以前的值和当前值。这可以帮助我们判断内容是否发生了变化,或者执行相应的操作。
change
事件change
事件在元素的值发生改变时触发,我们可以监听这个事件来比较以前的值和当前值。
示例代码:
// HTML
<input type="text" id="myInput" value="before" />
// 脚本
$(document).ready(function() {
$('#myInput').change(function() {
var previousValue = $(this).data('previousValue'); // 获取以前的值
var currentValue = $(this).val(); // 获取当前值
if (previousValue && previousValue !== currentValue) {
console.log('值发生了变化');
// 执行其他操作
}
// 更新以前的值为当前值
$(this).data('previousValue', currentValue);
});
});
使用 data
方法来存储以前的值,在每次 change
事件触发时比较前后的值。如果值发生了变化,则执行相应的操作。
我们也可以使用自定义属性来存储以前的值,然后在需要的时候比较前后的值。
示例代码:
// HTML
<input type="text" id="myInput" value="before" data-previous-value="before" />
// 脚本
$(document).ready(function() {
$('#myInput').on('input', function() {
var previousValue = $(this).attr('data-previous-value'); // 获取以前的值
var currentValue = $(this).val(); // 获取当前值
if (previousValue && previousValue !== currentValue) {
console.log('值发生了变化');
// 执行其他操作
}
// 更新以前的值为当前值
$(this).attr('data-previous-value', currentValue);
});
});
使用 attr
方法来获取和设置自定义属性的值。在每次输入内容时,比较以前的值和当前值,执行相应的操作。
以上是在 jQuery 中比较以前的值和当前值的两种常见方法。你可以根据实际需求选择其中一种来使用。