2

有趣的故障。事实证明,如果您尝试使用 CSS 设置光标样式(例如隐藏或使用十字光标),当您触发onmousedown事件时,光标将更改为文本光标。

这是我注意到这一点的实验中的代码片段:

mouse=[[0,0],false];
snap_mouse_by=10;
canvas.onmousedown=function(evt){
    var X=evt.clientX,Y=evt.clientY;
    mouse[0]=[X-X%snap_mouse_by,Y%Y-snap_mouse_by];
    //set mouse coordinates
    mouse[1]=true;
    //set mouse is down to true
}

与此同时,一个自执行函数会运行并检查鼠标坐标以及鼠标是否按下。根据这些数据,它绘制了一个框。

当然,当我点击鼠标按钮时,光标的样式会变为文本,而不是什么都不做。

这个问题不用回答,答案如下。

4

1 回答 1

2

我做了一个快速的谷歌搜索,看看我是否做错了 CSS,或者是否有记录的错误。

我什么也没找到,但后来有了一个看起来应该很明显的想法。

canvas.onmousedown=function(evt){
    ...
    evt.preventDefault();
    return false;
}

我测试了它是否是导致 CSS 不一致的浏览器功能,它就像一个魅力,我现在可以完全控制光标的样式。

这是链接,如果有人好奇。

只是想我会分享这个,以防其他人遇到这个故障。

于 2013-01-12T18:40:17.640 回答