onclick是点击,一个完整的点击动作由按下鼠标键onmousedown,和弹起鼠标键onmouseup完成,所以很多时候,onclick事件和onmousedown,onmouseup混用的时候会出现冲突。
如下案例:

    <script>document.onclick = function(e){console.log('onclick')}document.onmousedown = function(e){console.log('onmousedown')}document.onmouseup = function(e){console.log('onmouseup')}</script>

结果:

解决冲突

鼠标有左键,滑轮,和右键,他们在事件对象e.button 属性中分别为:
左键:0 | 滑轮:1 | 右键:2
而onclick事件只在左键起作用,onmousedown,onmouseup在滑轮和右键起作用,因此可以通过e.button的值来区分键位,在左键上不要onclick和onmousedown,onmouseup同时绑定冲突事件,onmousedown,onmouseup可以在滑轮或者右键绑定事件。

取消默认事件

拿鼠标右键菜单事件举例:

    <script>// 方式一:通过return falsedocument.oncontextmenu = function(){return false; }// 方式二:// 1.preventDefault() IE9以下不兼容document.oncontextmenu = function(e){e.preventDefault()}// 2.event.returnValue = false 兼容IEdocument.oncontextmenu = function(event){event.returnValue = false}</script>

取消后,点击鼠标右键不会弹出菜单。

如何解决onclick与onmousedown,onmouseup的冲突,取消默认事件相关推荐

  1. 转载-解决OnMouseDown OnMouseUp与OnClick事件的冲突问题

    2019独角兽企业重金招聘Python工程师标准>>> 一般可以把OnClick认为是OnMouseDown和OnMouseUp的集合体.OnClick一般用于处理瞬间的点击效果,而 ...

  2. iOS解决两个静态库的冲突 duplicate symbol

    场景: 解决TencentOpenAPI.framework与ZbarSDK中 _base64_encode 函数的冲突 后来在网络上搜寻,删除掉 Other Linker Flag 的 -all_l ...

  3. 解决jQuery和其它库的冲突

    为什么80%的码农都做不了架构师?>>>    在jQuery库中,几乎所有的插件都被限制在它的命名空间里.全局的对象都很好地存储在jQuery命名空间里,因此当把jQuery和其它 ...

  4. Intellij+maven:jar包冲突的解决方法(Hbase和Guava的冲突)

    Intellij+maven:jar包冲突的解决方法(Hbase和Guava的冲突) 参考文章: (1)Intellij+maven:jar包冲突的解决方法(Hbase和Guava的冲突) (2)ht ...

  5. [HTML] Google IE-x.js 解决IEx与W3C标准的冲突

    如果分别用IE5.IE6.IE7浏览同一个网页,将可能出现不一样的效果. 这是它们之间对CSS的解析选择器不一样或错误和个别bug所导致.为了解决这些错误和bug. 我们不得不找到一个能平衡于它们之间 ...

  6. 解决SVN提交和更新代码冲突?

    解决SVN提交和更新代码冲突? 解决冲突有三种选择: 1.放弃自己的更新,使用svn revert(回滚),然后提交.在这种方式下不需要使用svn resolved(解决) 2.放弃自己的更新,使用别 ...

  7. 完美解决HALCON C#编程目标平台冲突问题

    完美解决HALCON C#编程目标平台冲突问题 参考文章: (1)完美解决HALCON C#编程目标平台冲突问题 (2)https://www.cnblogs.com/qqhfeng/p/664915 ...

  8. DNS知识:解决DNS中MX与cname冲突问题 DNS拉平 cname智能加速

    解决DNS中MX与cname冲突问题 DNS拉平 cname智能加速 文章目录 今天学到了关于DNS的知识 感谢cr群中ah与熊良辰提供话题技术思路 讨论环境: 解决方案:使用DNSPod实现DNS拉 ...

  9. 工作篇 之 解决谷歌地图与 NestedScrollView 滑动冲突

    LZ-Says:情不知往矣,一往情深. 前言 话说,前段时间被地图虐个半死,那酸爽程度,简直无与伦比. 一会儿,要翻墙:一会儿,网络不稳定,白屏了:一会儿,某些设备不支持 GMS 服务了. 怎一个无奈 ...

最新文章

  1. 面试被问到“零拷贝”!你真的理解吗?
  2. 有逼格的产品经理都用什么样的杯子?
  3. HTTP 200 OK和HTTP 304 Not modified的由来
  4. [JZOJ5866]【NOIP2018模拟9.13】指引
  5. Apache基础安装(一)
  6. 如何修改远程桌面3389端口
  7. java spring框架文件上传_spring系列---Security 安全框架使用和文件上传FastDFS
  8. asp.net数据库操作类(不含存储过程)
  9. 电脑c盘满了怎么清理
  10. 计算机学office有必要吗,计算机二级office要学多久
  11. nvivo三天写论文!社会网络分析实战
  12. Windows10 VMware 虚拟机桥接模式无法上网 但是和宿主机能互相ping通
  13. .NET Runtime Optimization Service占用大量cpu问题处理windows2012
  14. 27_ArrayList类
  15. nv 9系显卡测试软件,支持全部8、9系显卡物理加速!NV新驱动消息泄漏
  16. 计算机等级考试excel试题,计算机等级考试试题及答案解析(Excel) -电脑资料
  17. 测试cpu新旧软件,Revit2021 VS Revit2020新旧版本软件性能评测
  18. 《C++程序设计:原理与实践》Chapter10练习
  19. LeetCode算法刷题-URL化和重新排列字符串
  20. 商业计划书的标准有哪些

热门文章

  1. PHP判断是手机QQ内置浏览器还是QQ浏览器
  2. Windows server防止暴力破解
  3. 学习快乐 - jvm调休参数
  4. Ribbon负载均衡策略、懒加载及饥饿加载
  5. 1_node for windows 安装部署
  6. 【云原生 | 从零开始学Docker】六、如何写出自己的镜像——Docker file
  7. 用Diskedit修复分区表(图解教程)
  8. 设计模式-状态模式实现状态机
  9. SkeyeVSS综合安防Onvif、RTSP、GB28181视频云无插件直播点播解决方案之服务器资源管理
  10. 【虹科】使用 ntopng 和 SNMP 监视网络设备