Canvas不能接收rollOver和roolOut事件的解决方案
MouseEvent.MOUSE_WHEEL事件不需要这样做,因为当设置这些事件的时候,flex自动的给canvas设置了setStyle('mouseShield', true) 样式
一个没有任何内容的透明 Canvas 不能触发rollOver和roolOut事件的侦听器函数,比如下面这个程序
<?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx=" http://www.adobe.com/2006/mxml" layout="absolute"> <mx:Canvas id="canvas" x="10" y="10" width="200" height="200" rollOver="trace('in')" rollOut="trace('out')" /> </mx:Application>
|
编译后,你把鼠标移上去,会发现没有任何输出。
解决方法:
1,<mx:Canvas id="canvas" x="10" y="10" width="200" height="200" rollOver="trace('in')" rollOut="trace('out')" backgroundAlpha="0" backgroundColor="#ff000"/>
|
2,<mx:Canvas id="canvas" x="10" y="10" width="200" height="200" rollOver="trace('in')" rollOut="trace('out')" preinitialize="canvas.setStyle('mouseShield', true);"/>
|
前提是你的 canvas 的 borderSkin 是 mx.skins.halo::HaloBorder.
原理:
没有任何内容的透明Canvas ,鼠标放上去,空无一物,当然不能触发鼠标事件。
所以我们要
1,backgroundAlpha="0" backgroundColor="#ff000"。
或者
2,将canvas的 mouseShield 样式设为 true,容器会自动给自己绘制一个alpha=0,白色的背景 backgroundAlpha="0" backgroundColor="#ffffff"
(可以参考mx.skins.halo::HaloBorder类的drawBackground函数)
为什么MouseEvent.CLICK,MouseEvent.DOUBLE_CLICK,MouseEvent.MOUSE_DOWN,MouseEvent.MOUSE_MOVE,MouseEvent.MOUSE_OVER,MouseEvent.MOUSE_OUT,MouseEvent.MOUSE_UP,
MouseEvent.MOUSE_WHEEL事件不需要这样做?
因为当设置这些事件的时候,flex自动的给canvas设置了setStyle('mouseShield', true) 样式。(可以参考mx.core::Container 类的addEventListener 函数)。
http://www.52ria.com/tutorial/flex/2009/0711/21.html
分享到:
相关推荐
但是使用 html2canvas 生成的canvas有些图片成功的在canvas里生成了。但是有些图片无论如何都显示不出来。 官方文档 在项目里面操作了半天未果,google了半天未果。此时有些许绝望。突然想到了,为什么不去它的 官网...
本文档提供了一种解决 html2canvas 图片模糊问题的方案,旨在解决在 iOS 和 Android 设备上的图片模糊问题。 一、ViewPort 布局方案 html2canvas 官方提供了 ViewPort 布局方案来解决 iOS 上的 1px 边框问题。在这...
用于各个浏览器(IE)html2canvas不工作解决方案 html2canvas在火狐、Chrome等浏览器好用,但是IE浏览器无效,导入这个js后就OK啦
在本方案中,我们将探讨如何使用html2canvas生成PDF文件,并实现下载功能。 首先,我们需要了解HTML2Canvas的基本用法。它通过遍历DOM树,将HTML元素转换为Canvas画布上的像素。这个过程涉及到样式解析、图片加载...
本文将深入探讨这些问题的原因以及解决方案。 首先,让我们了解为何会出现这些问题。HTMLCanvas截图不全或无法截图,可能有以下几个原因: 1. **CSS3 Transformations**:当HTML元素使用了CSS3的transform属性(如...
html2canvas 与 jspdf 相结合生成 pdf 内容被截断的终极解决方案,设置背景色为白色,然后转成图片后,获取截断处图片像素点,从截断处往上一行行扫描像素点颜色,碰到这一行颜色都是全白的,代表是从这里开始截断,...
- **实现方法**: 使用双缓冲机制,即在另一个缓冲Canvas上绘图和绘制文字,最后根据`scaleH`进行缩放,并将缓冲Canvas的内容绘制到屏幕Canvas上。 ```javascript let canvasBuffer = document.createElement(...
通过这种方式,即使HTML2Canvas不支持圆角,也能通过视觉欺骗的方式实现圆角效果。 需要注意的是,这种方法只适用于背景相对简单且圆角固定的场景。如果图片背景复杂,或者圆角大小动态变化,可能需要更复杂的解决...
本篇文章将深入探讨如何解决在canvas截屏过程中遇到的模糊、图片缺失和位置不准确等问题。 1. **模糊问题**: - 原因:canvas元素默认的分辨率(DPI)与屏幕设备像素比(devicePixelRatio)不匹配,导致截图像素化...
"基于HTML5 Canvas,开箱即用的移动端可视化解决方案"指的是使用Canvas技术构建的移动端图表库,这类库通常为开发者提供便捷的方式来创建数据可视化效果,无需过多的底层图形操作。 F2是阿里巴巴集团推出的一款专注...
总之,Leaflet.Canvas-Markers-0.2.0为Leaflet用户提供了一种高效的标记绘制解决方案,尤其适合那些需要大量标记且注重性能的项目。通过结合Canvas的强大功能,开发者可以创造出更生动、更具交互性的地图应用,提升...
HTML2canvas是一个JavaScript库,它允许在浏览器环境中将...以上就是关于使用html2canvas解决模糊不清和滚动下拉问题的详细解答,希望对你的项目有所帮助。记得根据实际情况调整代码和参数,以适应不同的需求和场景。
综上所述,“canvas绘制的vue表格组件”是一种创新的解决方案,它结合了canvas的高性能渲染能力和Vue的组件化思想,为处理大规模数据提供了新的可能性。在实际开发中,这样的组件可以显著提高用户体验,减少页面加载...
SVG和Canvas绘图:SVG与Canvas的事件处理.docx
下面我们将详细探讨这个问题及解决方案。 **Canvas线条渲染原理:** 在Canvas中,线条是由一系列像素点构成的。当你使用画线指令如`lineTo`、`arcTo`或`strokeRect`时,实际上是告诉Canvas在指定的坐标点之间绘制...
HTML5 Canvas不直接支持DOM事件,所以我们需要手动绑定和处理鼠标事件。主要关注`mousedown`(鼠标按下)、`mousemove`(鼠标移动)和`mouseup`(鼠标释放)这三个事件。 ```javascript canvas.addEventListener('...
Canvas State Error(解决方案).md
Canvas Initialization Error(解决方案).md
Canvas Size Error(解决方案).md
Invalid Canvas Element(解决方案).md