【问题标题】:Change the cursor to a circle?将光标更改为圆形?
【发布时间】:2013-02-14 00:29:14
【问题描述】:

我正在建立一个网站,其中一部分我有一个白板功能(基本上是一个画布)。我正在尝试为白板实现橡皮擦功能,并且我希望光标在选择橡皮擦时改变形状,以便它与擦除发生的方式相匹配(此时我正在尝试擦除呈圆形)。到目前为止,我已经尝试过:

$('#canvasDiv').css('cursor','url(https://example.com/eraser_cursor.png)');

这不起作用有两个原因:

  1. 虽然光标的图像是一个圆圈,但它并没有以光标为中心,所以看起来用户正在擦除其他内容。

  2. 一旦用户开始擦除并按住“单击”,光标就会变为不同的形状。

有没有办法解决这个问题?

【问题讨论】:

  • 在您的 CSS 声明中,您应该能够利用 :active 伪选择器在用户单击鼠标按钮时更改光标。这是未经测试的,但可能会有所帮助......此外,您应该能够更新您的橡皮擦图标以包含一些将实际图标偏移到正确位置的空白(透明部分),否则请查看 Pawel_W 的答案。跨度>
  • canvas 标签保留给 html5 元素。如果您想使用 html5 画布,我可以提供帮助,但我怀疑这是您想要做的。我建议您删除该标签,因为它与您要使用的技术无关。

标签: jquery css canvas cursor


【解决方案1】:
  1. 还有“x y”选项 - cursor: url() x y(据我所知仅适用于 FF/Chrome)

  2. 我认为!important 应该修复它

【讨论】:

  • 1.它有效 2. 我尝试了 !important 选项,但它似乎不起作用(我使用 chrome)。我必须将事件侦听器加载到 mousedown 并执行 event.preventDefault();
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-06-30
  • 1970-01-01
  • 1970-01-01
  • 2020-06-15
  • 1970-01-01
  • 2018-04-08
  • 2020-07-05
相关资源
最近更新 更多