场景:例如某音和某书的分享功能:
input输入框绑定onblur事件,input输入框的发送按钮绑定onclick事件。在点击发送按钮的的同时,input也失去了焦点,所以会触发onblur事件,并且onblur会优先于onclick执行。这就会导致按钮的onclick事件无法正确执行,解决办法:
1.给onblur加settimeout, 然后onclick中cleartimeout。也就是说让onblur延迟一段时间再执行,在这一段时间内onclick会正常执行,并且onclick中的cleartimeout会停止onblur的执行。
亲测有效 点击发送按钮直接就发送 再也不会先触发blur事件
2.查阅资料 我看还有一种解决方式 将onclick替换为onmousedown 因为我这是h5页面 所以使用touchend
这种方式也是可以的!