返回顶部
首页 > 资讯 > 前端开发 > JavaScript >JS的鼠标监听mouseup鼠标抬起失效原因及解决
  • 873
分享到

JS的鼠标监听mouseup鼠标抬起失效原因及解决

JS鼠标抬起失效JS鼠标监听mouseup失效 2023-05-20 08:05:43 873人浏览 薄情痞子
摘要

目录一、起因及解决解决:总结:一、起因及解决 由于很少使用除了click的监听事件,今天在使用mouseup时遇到一个坑,找了好久的bug。事情是这样的,我在写一个表情框,为了实现鼠

一、起因及解决

由于很少使用除了click的监听事件,今天在使用mouseup时遇到一个坑,找了好久的bug。事情是这样的,我在写一个表情框,为了实现鼠标拖动表情框时,移动到相应的位置。所以配合使用到了mousedown和mouseup和mosemove。

1.mosedown: 用于鼠标按下进行选中该表情区域为可拖动;

2.mosemove:鼠标移动时,判断表情区域是否可拖动,,若可拖动,则开始允许拖动;

3.mouseup: 鼠标抬起该表情区域不可拖动;

但是我遇到的问题是,鼠标按下时,该表情区域可以拖动,但是鼠标松开时,表情区域还是可以根据我的鼠标位置进行拖动。

如下:

![上传中...]()

可以看到,我鼠标松开时,本来不可以移动的,但是现在却可以移动,后来研究了一下,发现表情区域怎么被我选中变色了,然后查了一下使用CSS禁止选中,就正常了。如下:

解决:

// 表情盒子样式
  .emojiBox {
            -WEBkit-user-select: none;
            -moz-user-select: none;
            -o-user-select: none;
            user-select: none;
        }

总结:

其实mouseup并没有失效,而是你拖动时,鼠标选中了其他的元素,其实的话,鼠标即使松开,浏览器内部还是认为用户在复制文字,鼠标还是按下的状态,所以不会触发mouseup事件。

以上就是js的鼠标监听:mouseup(鼠标抬起)失效的详细内容,更多关于JS的鼠标监听:mouseup(鼠标抬起)失效的资料请关注编程网其它相关文章!

--结束END--

本文标题: JS的鼠标监听mouseup鼠标抬起失效原因及解决

本文链接: https://lsjlt.com/news/214259.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作