簡體   English   中英

當我單擊畫布並拖動鼠標時,光標將變為文本選擇光標。 我怎么能阻止這個?

[英]When I click on a canvas and drag my mouse, the cursor changes to a text-selection cursor. How can I prevent this?

這是一個小提琴: http//jsfiddle.net/MZ9Xm/

注意:以下內容適用於Chrome 22.0.1221.1,但不適用於Firefox 14.0.1。 [Ubuntu linux]

將鼠標移動到頂部畫布,然后按住鼠標按鈕。 拖動鼠標,光標將變為文本選擇鼠標光標(I-bar)。 如果頁面上沒有其他元素,則不會發生這種情況。

我已經搞砸了將用戶選擇設置為無,但沒有任何運氣。

您可以在畫布中綁定mousedown事件以防止默認行為。

就像是:

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

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

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

您需要對此進行測試,以確定您正在做的事情是否存在某些副作用。

您是否嘗試過使用CSS cursor屬性

canvas {
    cursor: pointer;
}

它應該顯示默認光標。

試試這個:

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

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

返回false將阻止突出顯示等默認操作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM