画布背后的div问题

时间:2017-07-17 22:27:59

标签: javascript html css canvas html5-canvas

我正在使用javascript在画布内画画,但是我得到了这个奇怪的问题,我不能“画”文本的div,所以当我将鼠标悬停在div上时,它会停止绘制并开始每当我将鼠标悬停在div上,线条开始继续我停留的位置,但它会在div后面呈现奇怪的线条,而不是模糊的样式线条。

此时,我想以我在文本背后绘制的方式来解决这个问题。

这是我的代码:(https://codepen.io/Zdendaaa/pen/yXWOmQ)

有任何帮助吗?谢谢!

2 个答案:

答案 0 :(得分:1)

到您的内容div添加

pointer-events: none;

根据MDN: https://developer.mozilla.org/en-US/docs/Web/CSS/pointer-events CSS属性指针事件允许作者控制特定图形元素在什么情况下(如果有的话)可以成为鼠标事件的目标。

答案 1 :(得分:1)

您可以按照其他答案中的说明添加pointer-events: none,但这只是一个很好的解决方案,如果您确定不需要该特定元素上的任何其他事件。例如,如果您想在内容div中放置一个应该具有悬停效果的图片,或者让我们说出任何类型的链接,那么您再次遇到同样的问题。

更好的方法可能是将画布和内容包装在另一个div容器中,而只是将mouseover侦听器添加到此包装元素中。

在这种情况下,您不必禁止某些特定元素的事件。

我用一个例子编辑了你的笔:https://codepen.io/anon/pen/YQbGKL