1. 原生方法
input有自己的方法onchange
在jquery中为:
$('input').on('change',function(){
console.log('两次值不一致')
})
当input的值发生改变时,才会触发change事件。
2. 变量控制实现
声明两个变量,分别存储输入框的值
let first = ''
let second = ''
$('input').on('blur', function () {
first = second
second = $('input').val()
if(first !== second ){
console.log('两次值不一致')
}
})
3.项目背景
两次输入的值不一样时,点击确定按钮,提交数据
3.1 原生方法实现
let flag = true
$('input').on('change', function () {
flag = true
console.log('值变了')
})
$('button').on('click', function () {
if (flag) {
askFoo()
}
})
function askFoo() {
flag = false
console.log('提交----')
}
优点:change事件简单明了。
缺点:flag变量的控制分布在不同的方法中,比较分散
3.2 变量控制实现
let first = ''
let second = ''
let flag = true
$('button').on('click', function () {
first = second
second = $('input').val()
flag = first !== second;
if (flag) {
askFoo()
}
})
function askFoo() {
console.log('提交----')
}
优点:只在点击按钮时控制flag的值,其他模块只做自己的业务。
缺点:我觉得没什么缺点