双击后防止文本选择

我正在处理我的Web应用程序中的跨度的dblclick事件。 副作用是双击选择页面上的文本。 我怎样才能防止这种选择发生?


function clearSelection() {
    if(document.selection && document.selection.empty) {
        document.selection.empty();
    } else if(window.getSelection) {
        var sel = window.getSelection();
        sel.removeAllRanges();
    }
}

您还可以将这些样式应用于所有非IE浏览器和IE10的跨度:

span.no_selection {
    -webkit-user-select: none; /* webkit (safari, chrome) browsers */
    -moz-user-select: none; /* mozilla browsers */
    -khtml-user-select: none; /* webkit (konqueror) browsers */
    -ms-user-select: none; /* IE10+ */
}

在普通的javascript中:

element.addEventListener('mousedown', function(e){ e.preventDefault(); }, false);

或者用jQuery:

jQuery(element).mousedown(function(e){ e.preventDefault(); });

一个简单的Javascript函数,使页面元素内的内容不可选:

function makeUnselectable(elem) {
  if (typeof(elem) == 'string')
    elem = document.getElementById(elem);
  if (elem) {
    elem.onselectstart = function() { return false; };
    elem.style.MozUserSelect = "none";
    elem.style.KhtmlUserSelect = "none";
    elem.unselectable = "on";
  }
}
链接地址: http://www.djcxy.com/p/41401.html

上一篇: Prevent text selection after double click

下一篇: How to remove Firefox's dotted outline on BUTTONS as well as links?