setCapture 和 releaseCapture

setCapture 和 releaseCapturesetCapture函数的作用就是将后续的mouse事件都发送给这个对象,releaseCapture就是将鼠标事件还回去,由document、window、object之类的自行来处理。这样就保证了在拖动的过程中,不会由于经过了其它的元素而受到干扰另外,还有一个很重要的事情是,在Win32上,mousemove的事件不是一个连续的,也就是说,并不是我们每次移动1px的鼠标指针,就会发生一个mousemove,windows会周期性检查mouse的位置变化来产生mousemove的事件。所以,如

大家好,又见面了,我是你们的朋友全栈君。

setCapture函数的作用就是将后续的mouse事件都发送给这个对象,releaseCapture就是将鼠标事件还回去,由 document、window、object之类的自行来处理。这样就保证了在拖动的过程中,不会由于经过了其它的元素而受到干扰

另外,还有一个很重 要的事情是,在Win32上,mouse move的事件不是一个连续的,也就是说,并不是我们每次移动1px的鼠标指针,就会发生一个mousemove,windows会周期性检查mouse 的位置变化来产生mousemove的事件。
所以,如果是一个很小的页面对象,比如一个直径5px的圆点,如果没有setCapture和 releaseCapture,那么在鼠标按住之后,快速的移动鼠标,就有可能鼠标移动走了,但是小圆点还在原地,就是因为下一次的mousemove事 件已经不再发给这个圆点对象了。

web开发和windows开发最大的区别就是windows开发是有状态的,而web开发是无状态的,在windows中,一切操作都可以由程序来控制 ,除非强制执行ctrl+alt+del;但web操作就不一样了,即使执行很重要的操作,用户一点击浏览器关闭按钮,就将前面操作成果化为乌有.尽管可以在onunload事件中加些代码,让用户可以选择是否退出,但不能从根本上解决问题!

有一点遗憾:setCapture和releaseCapture 不支持键盘事件.只对onmousedown, onmouseup, onmousemove, onclick, ondblclick, onmouseover, onmouseout这样的鼠标事件起作用.

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/134769.html原文链接:https://javaforall.net

(0)
上一篇 2022年5月3日 上午8:00
下一篇 2022年5月3日 上午8:00


相关推荐

  • cocos2dx 编写shader 遇到 溢出问题[通俗易懂]

    cocos2dx 编写shader 遇到 溢出问题

    2022年1月30日
    60
  • kotlin 和java 的对比

    kotlin 和java 的对比Kotlin 的 简历 来自于著名的 IDEIntelliJI AndroidStudi 基于此开发 软件开发公司 JetBrains 位于东欧捷克 起源来自 JetBrains 的圣彼得堡团队 名称取自圣彼得堡附近的一个小岛 KotlinIsland 一种基于 JVM 的静态类型编程语言语法简单 不啰嗦 111

    2026年3月19日
    3
  • ldc java_java – LDC指令代码的负值是什么意思?

    ldc java_java – LDC指令代码的负值是什么意思?我是 java 字节码世界的新手 我有一些涉及字节码的调试任务 经过时我注意到一些看起来很可疑的值 但我不确定 这是完整字节码的一部分 accessflags0 jacocoInit ZGETSTATICCl jacocoData ZDUPIFNONNUL

    2026年3月26日
    2
  • platform driver注册过程

    platform driver注册过程platform总线上的驱动注册一般使用module_platform_driver宏,如goldfish设备的注册module_platform_driver(goldfish_pipe);这个宏定义在/goldfish/include/linux/platform_device.h文件/*module_platform_driver()-Helpermacrofordriv…

    2022年7月14日
    29
  • eclipse全局搜索快捷键

    eclipse全局搜索快捷键说明当后端开发人员向项目中导入由美工写好的静态页面时 经常会出现由于资源路径原因出现的路径错误 大多是由于 CSS 样式等造成的问题 如下图这种路径问题不止一处 逐个改起来非常麻烦 这时候可以使用 eclipse 自带的全局搜索方式 进行统一修改解决步骤一 打开任意错误页面 选中错误行 Ctrl C 复制二 使用快捷键 Ctrl h 进行全局搜索三

    2026年3月19日
    1
  • protostuff报错[通俗易懂]

    protostuff报错[通俗易懂]themethodmergeFrom(byte[],T,Schema)inthetype isnotapplicableforthe。。。。。如果出现以上报错,说参数类型不匹配,RuntimeSchema和Schema类型无法转换,有很大的概率是倒包倒错了。要注意,需要导入的是:io.protostuffprotostuff-core1.5.2

    2022年5月2日
    75

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号