【发布时间】:2010-11-30 10:00:03
【问题描述】:
在 Firefox 中看起来不错,Chrome 和 Internet Explorer 的文本仍然是可选的,有什么办法可以解决这个问题吗?代码取自另一个问题(我现在找不到)所以它可能已经过时了?
// Prevent selection
function disableSelection(target) {
if (typeof target.onselectstart != "undefined") // Internet Explorer route
target.onselectstart = function() { return false }
else if (typeof target.style.MozUserSelect != "undefined") // Firefox route
target.style.MozUserSelect = "none"
else // All other routes (for example, Opera)
target.onmousedown = function() { return false }
}
在代码中用作:
disableSelection(document.getElementById("gBar"));
【问题讨论】:
-
为什么要这样做?即使你让它工作,再次选择文本就像禁用 javascipt 或查看源代码一样简单。真正阻止选择的唯一方法是提供图像,这会导致各种可访问性问题并隐藏搜索引擎的文本。
-
我知道有人会问这个大声笑,我完全意识到这些缺点,但这不是为了数据保护,它只是为了提高我正在制作的网络应用程序的性能,所以当用户拖放元素时,其中包含的文本不会开始被选中,从而使应用程序行为异常。
-
我最近遇到了这样的问题,并通过 jQuery 升级解决了它:)
-
我没用Jquery,都是自己写的(部分是为了更好地学习JS)
标签: javascript text jquery-ui-selectable