|
|
1
11
如果跨浏览器功能不是一个要求,那么有一个简单的解决方案。在支持非SVG元素的浏览器上(webkit、Mozilla和其他浏览器,尤其是IE),可以使用css属性 指针事件 . 从MDN:
除了指示该元素不是鼠标事件的目标之外,值none还指示鼠标事件“穿过”该元素,并将该元素“下面”的内容作为目标。 " 至少,您可以使用Modernizr来检测指针事件支持,并执行中提到的不透明度技巧 Simon Sarris's answer 在不支持它的浏览器上。
例子: http://www.patrick-wied.at/static/heatmapjs/demo/maps_heatmap_layer/gmaps.php |
|
|
2
7
假设你不能把链接放在画布上。。。
对于IE+较旧的浏览器,还有一个肮脏的解决方法(您可以删除对jQuery的依赖):
显然,这只支持当前的锚定,您需要知道画布下的特定元素(或者可以使用jQuery选择器magic找到它)。 |
|
|
3
3
我可以通过如下方式设置画布来实现这一点:
然后在CSS中将其设置为:
希望这有帮助! |
|
|
4
2
简单的回答是你不能通过点击。 但第二个最简短的答案是,你确实可以做任何你内心渴望的事!你只要愿意对解决方案有点陌生就行了。 我能想到的第一种方法有点让人抓狂,但很简单:对于画布后面的每一件物品,做一个 类似的秘密物品 在画布前。然后将您想要的事件放在机密项上:
如果你想看到代码的运行 click here
|
|
|
5
1
借用Simon Sarris的答案,在某些情况下,将画布和控件放在同一平面上可能更简单。根据控件的不同,它并不总是允许画布在控件的顶部绘制,但是在Joe最初的问题中似乎不需要这样做。重要的是要确保canvas和控件在同一个Z平面上,都有一个使用“position”关键字的样式,并且控件的HTML在canvas语句之后。下面是使用此方法将画布与控件组合在一起的示例。
|
|
|
6
0
|
|
|
7
0
我有一个圆形的用户界面设备(绘制在一个普通的HTML5画布上,它是一个正方形)。 只有圆形是彩色的,画布的其余部分是透明的,我想点击它。在正方形画布的角落下,舞台上有各种形状。 正常情况下 但您可以将click事件发送到一个动态形状,并激活该形状中的事件侦听器,如下所示:
|
|
|
8
0
如果需要使用控件,请将其z索引设置为高于画布。 如果需要使用canvas-set,它的z索引比控件高。 具体的方法取决于你的情况。您可以监听mousedown/mouseup事件,或者在某些区域上监听mousemove。 |
|
|
9
0
设置画布
|