输入框blur事件和标签tap事件执行顺序在开发工具和手机上不一样
目前做的一个功能,输入框输入数字,失去焦点后数字要进行格式化,输入框后面有清除输入框数据的按钮,在输入数字后,让输入框不失去焦点,点击后面清除按钮,在开发工具中执行顺序为:输入框blur事件————>>>清除按钮的tap事件;但在手机上执行顺序:清除按钮的tap事件————>>>>>输入框blur事件。开发工具上体验正常,手机上体验差,想要的功能出不来。
开发工具执行顺序:
手机执行顺序:
4 回复
< view class = 'flex my-box' > < view class = 'flex-1' > < input type = 'digit' value = '{{changeValue}}' bindblur = "changeFmt" placeholder = '请输入数字' ></ input > </ view > < view style = 'color:blue' bindtap = 'clearInput' >清除</ view > </ view > |
.flex { display : -webkit-flex; display : flex; } .flex -1 { flex: 1 ; } .my-box{ border-top : 1px solid #d8d8d8 ; border-bottom : 1px solid #d8d8d8 ; padding : 30 rpx; } |
const app = getApp() Page({ data: { changeValue: '' , }, onLoad: function () { }, changeFmt: function (e){ console.log( "失去焦点" ); this .setData({ changeValue:666 }) console.log( "失去焦点重设输入框的值:" + this .data.changeValue); }, clearInput: function (){ console.log( "清除方法" ); this .setData({ changeValue: '' }) console.log( "清除输入框的值:" + this .data.changeValue); } }) |