When double-clicking on a html page most browsers select the word you double-click on (or the paragraph you triple-click on). Is there a way to get rid of this behavior?
Note that I do not want to disable regular selection via single-click+dragging; i.e. jQuery UI's $('body').disableSelection() and the document.onselectstart DOM event are not what I want.
To disable the text selection when the user double clicks on the HTML element, you can use the user-select property and set its value to none in CSS.
You can use the user-select property to disable text selection of an element. In web browsers, if you double-click on some text it will be selected/highlighted. This property can be used to prevent this.
The dblclick event generates an event on double click the element. The event fires when an element is clicked twice in a very short span of time. We can also use the JavaScript's addEventListener() method to fire the double click event. In HTML, we can use the ondblclick attribute to create a double click event.
Just put this on the css interested section
 -moz-user-select     : none;  -khtml-user-select   : none;  -webkit-user-select  : none;  -o-user-select       : none;  user-select          : none; 
                        I fear you can't prevent the selection itself being "native behavior" of the browser, but you can clear the selection right after it's made:
<script type="text/javascript"> document.ondblclick = function(evt) {     if (window.getSelection)         window.getSelection().removeAllRanges();     else if (document.selection)         document.selection.empty(); } </script>   Edit: to also prevent selecting whole paragraph by "triple click", here is the required code:
var _tripleClickTimer = 0; var _mouseDown = false;  document.onmousedown = function() {     _mouseDown = true; };  document.onmouseup = function() {     _mouseDown = false; };  document.ondblclick = function DoubleClick(evt) {     ClearSelection();     window.clearTimeout(_tripleClickTimer);      //handle triple click selecting whole paragraph     document.onclick = function() {         ClearSelection();     };      _tripleClickTimer = window.setTimeout(RemoveDocumentClick, 1000); };  function RemoveDocumentClick() {     if (!_mouseDown) {         document.onclick = null;          return true;     }      _tripleClickTimer = window.setTimeout(RemoveDocumentClick, 1000);     return false; }  function ClearSelection() {     if (window.getSelection)         window.getSelection().removeAllRanges();     else if (document.selection)         document.selection.empty(); }   Live test case.
Should be cross browser, please report any browser where it's not working.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With