当前位置:  开发笔记 > 编程语言 > 正文

html5 canvas手形光标问题

如何解决《html5canvas手形光标问题》经验,为你挑选了3个好方法。

我正在玩html5和一些javascript来制作一个小型的画板.每当我在chrome中单击画布时,光标就会变成文本光标.我已经尝试将光标:手放在css中,但这似乎不起作用.这必须是一件容易的事,但我查了一下,无法在任何地方找到它



1> 小智..:

在画布上使用禁用文本选择.这就像一个魅力.

var canvas = document.getElementById('canvas');
canvas.onselectstart = function () { return false; } // ie
canvas.onmousedown = function () { return false; } // mozilla

干杯,克里斯


美丽!我一直在寻找一个解决这个问题的方法,谁会想到它如此简单?对于interwebs的启发:"return false"方法还可以防止光标在Chrome中更改为工具栏.我知道阿特伍德不喜欢人们在评论中口头表达感谢,但无论如何,谢谢你!
对于webkit浏览器,您还可以添加`body {-webkit-user-select:none; 你的CSS.

2> 小智..:

虽然其他人绝对会引用你的quirksmode参考,但这并不能解决你所遇到的问题,而且基本上你需要实现Kris答案的变体.

在我自己的实现中,我发现阻止mousedown事件中的默认行为是阻止那个讨厌的文本选择游标所需要的:

function handleMouseDown(evt) {
  evt.preventDefault();
  evt.stopPropagation();

  // you can change the cursor if you want
  // just remember to handle the mouse up and put it back :)
  evt.target.style.cursor = 'move';

  // rest of code goes here
}

document.addEventListener('mousedown', handleMouseDown, false);

希望有所帮助.

干杯,达蒙.



3> Nick Craver..:

pointer你的鼠标属性来代替,就像这样:

canvas { cursor: pointer; }

hand是特定于IE/Opera,您可以在此处查看哪些游标在哪些浏览器中工作的完整列表.

推荐阅读
yzh148448
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有