$("#myTextBox").on("change paste keyup", function() {
alert($(this).val());
});
如何比较用户输入的新值和输入中已存在的当前值?
最佳答案
这是您可以使用闭包的地方:
$("#myTextBox").on("change paste keyup", (function() {
var previousValue = $("#myTextBox").val();
return function() {
var newValue = $(this).val();
alert('Was ' + previousValue + " and now it's " + newValue);
previousValue = newValue;
};
})());
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input id="myTextBox" value="abc" />
闭包有点复杂的原因:它创建了一个名为 previousValue
的变量,该变量的生命周期比处理函数长,但只能由该处理函数访问。您保证不会与代码的其他部分发生命名冲突。
关于javascript - on() 观察输入的变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34787872/