下图的一个需求,输入框输入后焦点离开input框就能自动生成一个标签,同时也要考虑回车键
目前在blur事件绑定了方法A,keyup事件触发后调用了方法B,B中去调用方法A
存在的问题:
- 可以看到方法A被触发了两次,即在keyup事件后又触发了blur事件
- 虽然在Vue的setter中前后相同的值不会去触发更新,但是为了代码的逻辑优化美观,不写一些垃圾代码,必须得解决
解决办法:
- 在keyup事件中手动去触发blur方法,比如:
ele.addEventListener('keyup', function (e) {
e.keyCode === 13 && (e.target.blur())
})