canvas 修改光标形状 滑过事件 点击事件
来源:互联网 发布:ant 构建java web项目 编辑:程序博客网 时间:2024/05/22 10:38
1.需求:在canvas做了点击事件响应的地方,将光标形状改成小手的模样,旨在提示用户这里可以点击,其余地方为默认箭头模样,实现div超链接的做法。
d.另附上点击事件代码
2.百度了好一阵子,都是讲div的光标样式变换,并未涉及canvas。虽然说实现起来并不难,还是写下来,供大家参考。
a.做光标滑过事件响应
var canvas = document.getElementById('room');canvas.onmousemove = function(e){p = getEventPosition(e);hoverTitle(p.x, p.y);}b. 光标变换
function hoverTitle(x,y){var ifp = 0;for(var i = 0; i < clickposition.length; i++){var p = clickposition[i];if(p.x1 < x && p.x2 > x && p.y1 < y && p.y2 > y){ifp = 1;}}if(ifp == 1){$("body").css('cursor','pointer');}else{$("body").css('cursor','default');}}
c.获取光标作用位置,已兼容各浏览器,注意需要给Canvas元素的position设为absolute。
function getEventPosition(ev){ var x, y; if (ev.layerX || ev.layerX == 0) { x = ev.layerX; y = ev.layerY; } else if (ev.offsetX || ev.offsetX == 0) { // Opera x = ev.offsetX; y = ev.offsetY; } return {x: x, y: y};}
d.另附上点击事件代码
canvas.addEventListener('click', function(e){p = getEventPosition(e);clickTitle(p.x, p.y);}, false);
function clickTitle(x,y){for(var i = 0; i < clickposition.length; i++){var p = clickposition[i];if(p.x1 < x && p.x2 > x && p.y1 < y && p.y2 > y){parent.goDetail("${siteId}",p.id);}}}
auto: 自动值。
crosshair : 简单的十字光标。
default : 客户端平台的默认光标。
pointer: 竖起一只手指的手形光标。
move : 十字箭头光标。用于标示对象可被移动。
help : 带有问号标记的箭头。用于标示有帮助信息存在。
text : 用于标示可编辑的水平文本的光标。通常是大写字母 I 的形状。
wait : 用于标示程序忙用户需要等待的光标。通常是沙漏或手表的形状。
以上。
0 0
- canvas 修改光标形状 滑过事件 点击事件
- NGUI中不规则形状点击事件
- echarts 取消图例上的点击事件和图表上鼠标滑过点击事件
- 光标 事件
- HTML5 Canvas多层点击事件监听实例
- 分享一个在canvas中的点击事件
- canvas画多圈数据和点击下载事件
- 修改鼠标光标的形状
- 修改鼠标光标的形状
- 鼠标点击按钮事件(列表,鼠标移动形状)
- Canvas---Canvas事件处理、Canvas元素的鼠标点击事件处理、实现一个元素管理器
- canvas 事件
- 侧滑点击事件
- 一个不错的HTML5 Canvas多层点击事件监听实例
- 修改鼠标光标的形状(一)
- 修改鼠标光标的形状(二)
- 修改鼠标光标的形状(三)
- 修改鼠标光标的形状(四)
- no cortex-m sw device found 问题解决
- 29.Java日期格式到数据库
- vnc 安装和配置 ubuntu环境和centos环境
- request.getRequestDispatcher().forward(request.response)
- Makefile 工程管理器
- canvas 修改光标形状 滑过事件 点击事件
- 微信支付 v3版 java
- 魅族手机HOLD的解决方案
- 单片机MSP430 - MSP430+CC1101常用自带函数
- JSON简介
- 浅谈PopupWindow
- HDFS介绍
- Spark的spark.sql.warehouse.dir问题
- laravel 5.0 artisan 命令列表(中文简体)