How to disable text selection using jQuery? How to disable text selection using jQuery? javascript javascript

How to disable text selection using jQuery?


In jQuery 1.8, this can be done as follows:

(function($){    $.fn.disableSelection = function() {        return this                 .attr('unselectable', 'on')                 .css('user-select', 'none')                 .on('selectstart', false);    };})(jQuery);


If you use jQuery UI, there is a method for that, but it can only handle mouse selection (i.e. CTRL+A is still working):

$('.your-element').disableSelection(); // deprecated in jQuery UI 1.9

The code is realy simple, if you don't want to use jQuery UI :

$(el).attr('unselectable','on')     .css({'-moz-user-select':'-moz-none',           '-moz-user-select':'none',           '-o-user-select':'none',           '-khtml-user-select':'none', /* you could also put this in a class */           '-webkit-user-select':'none',/* and add the CSS class here instead */           '-ms-user-select':'none',           'user-select':'none'     }).bind('selectstart', function(){ return false; });


I found this answer ( Prevent Highlight of Text Table ) most helpful, and perhaps it can be combined with another way of providing IE compatibility.

#yourTable{  -moz-user-select: none;  -khtml-user-select: none;  -webkit-user-select: none;  user-select: none;}