值 前后 比较 input 新值 旧值 新值 监听
效果就是当一个变量发生变化时候,我们不仅要获取当前最新的值,同时也要获取到值发生变化时候的上一次记录。类似于缓存。
一般的作用也是用于新值和旧值进行比较。
input
$(function(){ $.data($('.tx')[0],'old',$('.tx').val()); //默认为了一个元素设置了一个临时变量并获取当前值 $('.tx').bind('input propertychange', function() { var old= $.data($('.tx')[0],'old'); //获取临时的值 var newvalue=$(this).val(); //获取到当前值 if(old !== newvalue){ //当前值和临时值不一样时 $.data($('.tx')[0],'old',$(this).val()); //将当前值赋值给临时值,让临时值成为最新的,如果值还是一样时什么都不变 } console.log(old); //如果临时值变化了,虽然old获取到的是临时值,但old还是保持上一个值不变,因为是传递赋值保持着独立性 console.log(newvalue); }); });
<input type="text" class="tx">
click
var old_value=1; //初始值设置 $('a').click(function(){ var old= old_value; //将初始值赋值给临时值 var newvalue=$(this).index(); //获取到当前值 if(old !== newvalue){ //当前值和临时值不一样时 old_value=$(this).index(); //将当前值赋值给临时值,让临时值成为最新的,如果值还是一样时什么都不变 } });
别人的思路:https://sdeno.com/?p=4819