问题遇到的现象和发生背景
比如我点击搜索按钮,或者失焦事件,或者回车键盘事件,前端三次,怎么使得后端只获取到一次请求
没听懂
你这三个事件是完全独立的,并不是一个操作造成三个事件
我点下了按钮,然后隔半小时又点了旁边的空白让它失焦,你告诉我怎么把这两个玩意合并
还有,什么失去焦点,按下按键,这些都应该是js处理的
只有按钮点击才应该提交给服务器
不要什么东西都提交服务端处理
你的意思 点击搜索按钮,或者失焦事件,或者回车键盘事件 都执行的 一个事件 。只让他执行一次 。 意义是什么呢? 你既然 这样写了 那就说明 你想 点击搜索失去焦点、回车都能触发请求 。你只让触发 一次 没啥意义了吧 。是 接口消耗很大吗?
按钮@click,输入框@blur,输入框@keyup.enter.native,三个都绑定同一个方法即可。
我觉得你这个属于:短时间内过于频繁的执行相同的任务,可以用防抖来解决问题
感觉像你描述就是想防止短时间内重复调用后端接口的场景。可以用页面busy来控制,简单说就是:在第一次调用后端接口时就里面把页面设置成busy(也就是类似转圈圈那种),这样别的页面点击事件就都不会相应了,达到只调用一次的效果
三个调用同一个方法