前言

当实现类似Excel选中区域的功能时,经常出现 mouseup 事件丢失的情况,由于缺少了 mouseup 事件,导致一个完整的操作无法进行。
如果你是想进行拖拽移动操作,也可以参考本文。
原因
目前发现两个原因:
解决办法
第一种情况
通过执行下面的代码阻止系统默认的操作来防止触发 drag 操作:
//在事件中
e=e || window.event;
pauseEvent(e);
//阻止事件冒泡
//不仅仅要stopPropagation,还要preventDefault
function pauseEvent(e){
if(e.stopPropagation) e.stopPropagation();
if(e.preventDefault) e.preventDefault();
e.cancelBubble=true;
e.returnValue=false;
return false;
}
通过对事件调用pauseEvent方法可以防止出现drag操作,因此在区域内可以避免mouseup丢失。即使你想实现的本来就是 drag 操作,也可以通过创建跟随鼠标移动的dom元素实现效果。
第二种情况
由于鼠标移到了区域外,触发了 mouseleave 操作,因此在这种情况下要监听 mouseleave 操作,当触发该操作时可以停止或者还原状态。
特别注意的地方
当处理鼠标事件时,可以还要考虑是否要控制按下那个键时才允许操作。
Mouse事件中有一个 buttons 属性,该值标示鼠标按下了一个或者多个按键,如果按下的键为多个,值则为多个:
0 : 没有按键或者是没有初始化
1 : 鼠标左键
2 : 鼠标右键
4 : 鼠标滚轮或者是中键
8 : 第四按键 (通常是“浏览器后退”按键)
16 : 第五按键 (通常是“浏览器前进”)
多个值的时候,相当于进行|操作,即鼠标左右键同时按下时1|2=3。判断是否按下左键可以用value&1!=0进行,例如左右键同时按下时3&1!=0是true,说明按下了左键。
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如有疑问大家可以留言交流,谢谢大家对的支持。
# js
# mouseup
# click
# javascript当onmousedown、onmouseup、onclick同时应用于同一个标签
# javascript简单拖拽实现代码(鼠标事件 mousedown mousemove mouseu
# 鼠标
# 按下
# 多个
# 右键
# 或者是
# 左键
# 你是
# 如有
# 可以用
# 你想
# 可以通过
# 事件中
# 鼠标右键
# 这篇文章
# 谢谢大家
# 在这种情况下
# 移到
# 本来就是
# 时才
# 解决办法
相关文章:
如何选择高效便捷的WAP商城建站系统?
学校为何禁止电信移动建设网站?
C++如何使用std::optional?(处理可选值)
已有域名建站全流程解析:网站搭建步骤与建站工具选择
如何用免费手机建站系统零基础打造专业网站?
如何构建满足综合性能需求的优质建站方案?
如何选择香港主机高效搭建外贸独立站?
如何快速生成专业多端适配建站电话?
如何在搬瓦工VPS快速搭建网站?
网站视频怎么制作,哪个网站可以免费收看好莱坞经典大片?
怎么将XML数据可视化 D3.js加载XML
手机网站制作平台,手机靓号代理商怎么制作属于自己的手机靓号网站?
网站制作与设计教程,如何制作一个企业网站,建设网站的基本步骤有哪些?
如何用已有域名快速搭建网站?
如何通过虚拟主机快速搭建个人网站?
山东网站制作公司有哪些,山东大源集团官网?
如何在万网ECS上快速搭建专属网站?
小捣蛋自助建站系统:数据分析与安全设置双核驱动网站优化
昆明网站制作哪家好,昆明公租房申请网上登录入口?
七夕网站制作视频,七夕大促活动怎么报名?
如何通过FTP空间快速搭建安全高效网站?
如何用腾讯建站主机快速创建免费网站?
如何实现建站之星域名转发设置?
建站之星如何快速生成多端适配网站?
专业网站制作服务公司,有哪些网站可以免费发布招聘信息?
如何快速查询域名建站关键信息?
如何正确下载安装西数主机建站助手?
台州网站建设制作公司,浙江手机无犯罪记录证明怎么开?
建站之星好吗?新手能否轻松上手建站?
建站之星客服服务时间及联系方式如何?
胶州企业网站制作公司,青岛石头网络科技有限公司怎么样?
手机网站制作与建设方案,手机网站如何建设?
Python多线程使用规范_线程安全解析【教程】
家族网站制作贴纸教程视频,用豆子做粘帖画怎么制作?
宝塔建站无法访问?如何排查配置与端口问题?
如何做网站制作流程,*游戏网站怎么搭建?
重庆市网站制作公司,重庆招聘网站哪个好?
如何通过万网虚拟主机快速搭建网站?
如何在沈阳梯子盘古建站优化SEO排名与功能模块?
详解免费开源的.NET多类型文件解压缩组件SharpZipLib(.NET组件介绍之七)
电商网站制作公司有哪些,1688网是什么意思?
如何选购建站域名与空间?自助平台全解析
制作无缝贴图网站有哪些,3dmax无缝贴图怎么调?
极客网站有哪些,DoNews、36氪、爱范儿、虎嗅、雷锋网、极客公园这些互联网媒体网站有什么差异?
如何在香港免费服务器上快速搭建网站?
python的本地网站制作,如何创建本地站点?
打鱼网站制作软件,波克捕鱼官方号怎么注册?
如何在阿里云域名上完成建站全流程?
制作网站外包平台,自动化接单网站有哪些?
齐河建站公司:营销型网站建设与SEO优化双核驱动策略
*请认真填写需求信息,我们会在24小时内与您取得联系。