js onBlur 与onclick事件冲突的解决办法

onBlur为页面输入框失去焦点时执行的函数

应用场景:例如写一个百度的输入框与搜索历史,点击搜索历史中的任一一条,那么搜索历史框消失,然后输入框填入点击的字符串,如果给搜索历史的字符串绑定onclick事件用于在输入框填入字符串,那么相当于点击字符串会执行两个绑定事件,onBlur和onclik都要执行。但事实上onBlur事件的优先度高于onclik,所以onclick绑定的事件并不会执行。


image.png

解决办法:用onMouseDown替换onclick方法。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  •   JavaScript 与 HTML 之间的交互是通过事件实现的。   事件,就是文档或浏览器窗口中发生的一些特...
    霜天晓阅读 3,548评论 1 11
  • 第3章 基本概念 3.1 语法 3.2 关键字和保留字 3.3 变量 3.4 数据类型 5种简单数据类型:Unde...
    RickCole阅读 5,168评论 0 21
  • 事件流 Click Me 冒泡型事件:事件按照从最特定的事件目标到最不特定的事件目标的顺序触发。触发的顺序是:di...
    醋留香阅读 832评论 0 1
  • DOM DOM内容主要分为四部分: 什么是DOM和节点; 获取节点; 节点操作(3种); 属性操作(3种)。 什么...
    magic_pill阅读 795评论 0 1
  • 事件源对象 event.srcElement.tagName event.srcElement.type 捕获释放...
    孤魂草阅读 915评论 0 0