双击后防止文本选择
我正在处理我的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?