美文网首页
input中blur和点击事件click冲突解决方法

input中blur和点击事件click冲突解决方法

作者: 魅眼ALong | 来源:发表于2019-07-08 15:56 被阅读0次

    原因:由于JavaScript为单线程,同一时间只能执行处理一个事件。“blur优先于click执行”。
    场景:(自定义的模拟下拉框,选中时与click会与blur冲突)由于blur处理程序,会将对下拉框展示区隐藏,所以导致其后续click事件并不会执行。

    • 解决方案:让点击事件先执行(将click事件改为mousedown,其优先于blur事件)

    mousedown事件:当鼠标指针移动到元素上方,并按下鼠标按键时,会发生mousedown事件。
    mouseup事件:当在元素上放松鼠标按钮时,会发生mouseup事件。
    click事件: 当鼠标点击元素,并松开鼠标按钮时触发,
    触发顺序为 mousedown > mouseup > click

    相关文章

      网友评论

          本文标题:input中blur和点击事件click冲突解决方法

          本文链接:https://www.haomeiwen.com/subject/yatahctx.html