Frank Furd
Frank Furd

Reputation: 541

How can I prevent selecting text in Google Chrome?

Doesn't oEvent.preventDefault(); work in GC? I need to prevent selecting text when the onmove event is triggered.

EDIT: It turns out to be very easy...

function disableSelection() {
   document.onselectstart = function() {return false;} // ie
   document.onmousedown = function() {return false;} // others
}
function enableSelection() {
   document.onselectstart = null; // ie
   document.onmousedown = null; // others
}

After that, there's no text selection triggered on the move event (ie. on the select event -- ie - indeed ie!)

Upvotes: 18

Views: 23036

Answers (2)

Tim Down
Tim Down

Reputation: 324567

To do it using JavaScript:

var el = document.getElementById("myElement"), s = el.style;
s.userSelect = "none";
s.webkitUserSelect = "none";
s.MozUserSelect = "none";
el.setAttribute("unselectable", "on"); // For IE and Opera

Note that for IE and Opera, the unselectable attribute isn't inherited by an element's children, so any child elements of el will also need unselectable to be set to "on".

Upvotes: 19

LiraNuna
LiraNuna

Reputation: 67262

-webkit-user-select: none CSS style controls whether the user is allowed to select the
text of the element.

For completeness sake, this covers all supporting browsers (IE is not considered a web browser):

.no-select
{
   user-select: none;
   -o-user-select:none;
   -moz-user-select: none;
   -khtml-user-select: none;
   -webkit-user-select: none;
}

To do it through Javascript, just create a class and add the node's attributes.

Upvotes: 45

Related Questions