最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

javascript中mouseup事件丢失的原因与解决办法

来源:动视网 责编:小OO 时间:2020-11-27 20:18:16
文档

javascript中mouseup事件丢失的原因与解决办法

前言;当实现类似Excel选中区域的功能时,经常出现 mouseup 事件丢失的情况,由于缺少了 mouseup 事件,导致一个完整的操作无法进行。如果你是想进行拖拽移动操作,也可以参考本文。原因;目前发现两个原因。触发了浏览器的 drag 操作,导致mouseup丢失。由于鼠标离开了操作的区域,触发了mouseleave导致mouseup丢失。解决办法;第一种情况;通过执行下面的代码阻止系统默认的操作来防止触发 drag 操作。通过对事件调用pauseEvent方法可以防止出现drag操作,因此在区域内可以避免mouseup丢失。即使你想实现的本来就是 drag 操作,也可以通过创建跟随鼠标移动的dom元素实现效果。第二种情况;
推荐度:
导读前言;当实现类似Excel选中区域的功能时,经常出现 mouseup 事件丢失的情况,由于缺少了 mouseup 事件,导致一个完整的操作无法进行。如果你是想进行拖拽移动操作,也可以参考本文。原因;目前发现两个原因。触发了浏览器的 drag 操作,导致mouseup丢失。由于鼠标离开了操作的区域,触发了mouseleave导致mouseup丢失。解决办法;第一种情况;通过执行下面的代码阻止系统默认的操作来防止触发 drag 操作。通过对事件调用pauseEvent方法可以防止出现drag操作,因此在区域内可以避免mouseup丢失。即使你想实现的本来就是 drag 操作,也可以通过创建跟随鼠标移动的dom元素实现效果。第二种情况;


这篇文章主要跟大家介绍了关于Javascript中mouseup事件丢失的原因与解决办法的相关资料,文中给出详细的示例代码供大家参考学习,需要的朋友们下面跟着小编一起来学习学习吧。

前言

当实现类似Excel选中区域的功能时,经常出现 mouseup 事件丢失的情况,由于缺少了 mouseup 事件,导致一个完整的操作无法进行。

如果你是想进行拖拽移动操作,也可以参考本文。

原因

目前发现两个原因:

  • 触发了浏览器的 drag 操作,导致mouseup丢失。

  • 由于鼠标离开了操作的区域,触发了mouseleave导致mouseup丢失。

  • 解决办法

    第一种情况

    通过执行下面的代码阻止系统默认的操作来防止触发 drag 操作:

    通过对事件调用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,说明按下了左键。

    总结

    文档

    javascript中mouseup事件丢失的原因与解决办法

    前言;当实现类似Excel选中区域的功能时,经常出现 mouseup 事件丢失的情况,由于缺少了 mouseup 事件,导致一个完整的操作无法进行。如果你是想进行拖拽移动操作,也可以参考本文。原因;目前发现两个原因。触发了浏览器的 drag 操作,导致mouseup丢失。由于鼠标离开了操作的区域,触发了mouseleave导致mouseup丢失。解决办法;第一种情况;通过执行下面的代码阻止系统默认的操作来防止触发 drag 操作。通过对事件调用pauseEvent方法可以防止出现drag操作,因此在区域内可以避免mouseup丢失。即使你想实现的本来就是 drag 操作,也可以通过创建跟随鼠标移动的dom元素实现效果。第二种情况;
    推荐度:
    • 热门焦点

    最新推荐

    猜你喜欢

    热门推荐

    专题
    Top