Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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

Here's a fiddle: http://jsfiddle.net/MZ9Xm/

Note: The following occurs in Chrome 22.0.1221.1, but not in Firefox 14.0.1. [Ubuntu linux]

Move your mouse to the top canvas and press and hold the mouse button. Drag the mouse, and the cursor will change to a text-selection mouse cursor (I-bar). This does not happen if there are no other elements on the page.

I've messed around with setting user-selection to none, but have not had any luck.

like image 833
shino Avatar asked Aug 04 '12 01:08

shino


2 Answers

You can bind a mousedown event in your canvas to prevent default behavior.

Something like:

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

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

Here is the updated fiddle: http://jsfiddle.net/MZ9Xm/1/

You will need to test this to see if there is some side effect in what you are doing.

like image 89
davidbuzatto Avatar answered Oct 20 '22 13:10

davidbuzatto


Have you tried using the CSS cursor property ?

canvas {
    cursor: pointer;
}

It should display the default cursor.

like image 28
m-r-r Avatar answered Oct 20 '22 13:10

m-r-r