[发明专利]实现鼠标事件穿透的方法、相关存储介质、设备和装置在审
申请号: | 201810114758.6 | 申请日: | 2018-02-05 |
公开(公告)号: | CN108304242A | 公开(公告)日: | 2018-07-20 |
发明(设计)人: | 王兴伟;张文明;陈少杰 | 申请(专利权)人: | 武汉斗鱼网络科技有限公司 |
主分类号: | G06F9/451 | 分类号: | G06F9/451;G06F8/38 |
代理公司: | 中科专利商标代理有限责任公司 11021 | 代理人: | 张成新 |
地址: | 430000 湖北省武汉市武汉东湖*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 元素层 响应鼠标事件 子元素 鼠标坐标 上层 鼠标事件 穿透的 计算机可读存储介质 存储介质 电子设备 计算装置 检测 下层 | ||
1.一种实现鼠标事件穿透的方法,其特征在于,包括如下步骤:
S1,检测是否存在上层DOM元素;
S2,若存在所述上层DOM元素,则设置Canvas元素层的CSS属性,以使所述Canvas元素层不响应鼠标事件,此时,所述上层DOM元素响应鼠标事件;若不存在所述上层DOM元素,则执行步骤S3;
S3,检测鼠标坐标的位置;
S4,若所述鼠标坐标在所述Canvas元素层的子元素的范围内,则设置所述子元素的CSS属性,使所述子元素响应鼠标事件;若所述鼠标坐标的位置不在所述Canvas元素层的子元素范围内,则设置所述Canvas元素层的CSS属性,使所述Canvas元素层不响应鼠标事件,此时,下层DOM元素响应鼠标事件。
2.如权利要求1所述的方法,其特征在于,步骤S1进一步包括:
S11,利用elementFormPoint全局函数获取鼠标当前位置的第一个元素;
S12,判断所述第一个元素是否属于所述Canvas元素层;
S13,若所述第一个元素属于所述Canvas元素层,则说明不存在上层DOM元素;若所述第一个元素不属于所述Canvas元素层,则说明存在上层DOM元素。
3.如权利要求1所述的方法,其特征在于,步骤S3进一步包括:
S31,获取鼠标当前位置的全局坐标;
S32,将所述全局坐标转换为相对于所述Canvas元素层的相对坐标。
4.如权利要求3所述的方法,其特征在于,步骤S4进一步包括:
利用isPointInPath方法检测所述相对坐标是否在所述Canvas元素层的子元素的范围内。
5.如权利要求1所述的方法,其特征在于,步骤S4进一步包括:
所述子元素响应鼠标事件时,设置相应的鼠标指针。
6.如权利要求1所述的方法,其特征在于,若存在所述上层DOM元素,将所述Canvas元素层的CSS属性中的pointer-events设置成none,使所述Canvas元素层不响应鼠标事件。
7.如权利要求1所述的方法,其特征在于,若所述鼠标坐标在所述Canvas元素层的子元素的范围内,将所述子元素的CSS属性中的pointer-events设置成auto,使所述子元素响应鼠标事件。
8.一种计算机可读存储介质,其上存储有可执行指令,所述指令在由处理器执行时,实现如权利要求1-7中任一项所述的方法的步骤。
9.一种电子设备,包括:
存储器,用于存储可执行指令;以及
处理器,用于执行所述存储器中存储的可执行指令,以实现如权利要求1-7中任一项所述的方法的步骤。
10.一种计算装置,包括:
输入设备,用于向所述计算装置输入信息或指令;
输出设备,用于从所述计算装置输出信息;以及
如权利要求9所述的电子设备。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉斗鱼网络科技有限公司,未经武汉斗鱼网络科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810114758.6/1.html,转载请声明来源钻瓜专利网。