输入框失焦事件与按钮点击事件同时触发bug

图片描述

问题描述:输入框失去焦点时会请求接口获取数据,按钮点击时判断数据能否进行下一步,我输入完内容直接点击下一步,会把输入框blur事件,按钮点击事件同时触发,这时接口可能还未返回结果,导致直接进入下一步,该如何解决呢?

阅读 4k
3 个回答

提供个思路,仅供参考
设置一个标志变量记录是否已经获取了请求返回的结果,为isGetResult,初始值为false,如果已经获取了上一步的请求结果,则isGetResult = true,在进行下一步操作的时候检查这个isGetResult是否为true,如果为true就进行下一步操作,为false,就先发送上一步的请求
这样,当用户输入完内容直接点下一步的时候,isGetResult就是false,会先发请求判断数据,在获取请求结果之后,再进入下一步。
注意,用户每次focus的时候,记得将isGetResult置为初始值,即false

数据回来之前让按钮不可点击,数据回来后再让按钮可以点击就可以了呀!或者数据回来之前按钮点击不执行任何内容,直接return

失去焦点去接口请求数据有点不太合理,可以考虑下点击下一步的时候进行判断,不能的话不进行按钮点击事件而是进行相关提示。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题