我知道这个问题已被提出(here),但我发现的所有答案都是用css来处理的 选择器:选择(浏览器尚未广泛支持)。
那么,如何通过jQuery在我的html页面上禁用文本选择,而不是依赖于css技巧呢?
答案 0 :(得分:14)
这是一个简单的单行,用于禁用整个页面上的文本选择。 (无论你是否应该是另一个问题)
$(document).bind('selectstart dragstart', function(e) {
e.preventDefault();
return false;
});
答案 1 :(得分:12)
如果您想避免使用插件,可以从jQuery UI源中提取相关部分:
/*!
* jQuery UI 1.8.16
*
* Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* http://docs.jquery.com/UI
*/
$.support.selectstart = "onselectstart" in document.createElement("div");
$.fn.disableSelection = function() {
return this.bind( ( $.support.selectstart ? "selectstart" : "mousedown" ) +
".ui-disableSelection", function( event ) {
event.preventDefault();
});
};
$("#somediv").disableSelection();
答案 2 :(得分:4)
包含jQuery UI并使用$(element).disableSelection()
。
然而,禁用文本选择是非常用户不友好,除非在可能意外选择的上下文中使用(例如,拖放和按钮或用户可能双击以更快地执行多个更改的按钮(例如,在纺纱厂))
答案 3 :(得分:-2)