8

这是一个小提琴:http: //jsfiddle.net/MZ9Xm/

注意:以下情况发生在 Chrome 22.0.1221.1 中,但不在 Firefox 14.0.1 中。[Ubuntu Linux]

将鼠标移动到顶部画布并按住鼠标按钮。拖动鼠标,光标将变为文本选择鼠标光标(I-bar)。如果页面上没有其他元素,则不会发生这种情况。

我已经将用户选择设置为无,但没有任何运气。

4

3 回答 3

24

您可以在画布中绑定 mousedown 事件以防止默认行为。

就像是:

// with jQuery
$( "#canvasId" ).mousedown(function(event){
    event.preventDefault();
});

// without jQuery
document.getElementById( "canvasId" ).onmousedown = function(event){
    event.preventDefault();
};

这是更新的小提琴:http: //jsfiddle.net/MZ9Xm/1/

您需要对此进行测试,看看您所做的事情是否有副作用。

于 2012-08-04T02:26:52.890 回答
3

您是否尝试过使用CSScursor属性

canvas {
    cursor: pointer;
}

它应该显示默认光标。

于 2012-08-04T02:07:59.807 回答
1

试试这个:

var canvasEls = document.getElementsByTagName('canvas'),
    preventHl = function () { return false; },
    i = 0;

while (i < canvasEls.length) {
    canvasEls[i].onmousedown = preventHl;
    i += 1;
}

返回 false 将阻止发生突出显示等默认操作。

于 2012-08-04T02:31:28.300 回答