- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
JQueryUI 1.9 中的
.disableSelection 已弃用。我能找到的唯一解释是,字面上的"Disabling text selection is bad. Don't use this."和 "We shouldn't allow developers to mess with text selection. This was originally for the interaction plugins, but they're all handling text selection properly on their own at this point."
由于没有建议替代方案,我认为他们的意思是总是不好,但我无法理解他们的原因。双击/三次单击或以其他方式无意义地选择精心设计的 UI 应用程序会错误地应用文本突出显示效果,并且(对我而言)立即消除了强大用户体验的错觉。
桌面应用程序不会受此困扰!桌面环境中的按钮和其他控件是像素区域,无论您对它们做什么(否则它们就会损坏),它们看起来都是实心的并且直观地起作用。 Web 应用程序由复杂的 html 框、背景、边框和图像(像素的 Web 模拟)组成,这一事实并没有理由让人误以为我们与之交互的屏幕元素不是原子的物理对象。
在下图中,可以说某些文本应该是可选择的,例如面板中的文本段落可能是应用程序数据。但对于某些应用程序来说,其他部分(例如按钮、选项卡、 Accordion 标题中的文本以及模式对话框后面的文本)不可选是一个合理的设计选择。这尤其适用于可拖动/可排序的行为。
1) 我是否误解了他们的决定?该建议是否比我意识到的更具体地针对 JQuery?
2) 如果作为一般性声明,文本应该始终像这样选择,请提供更完整的解释。
3)如果我无论如何都要这样做,既然disableSelection已被弃用,那么最高效、最完整、最受尊重、跨浏览器且普遍可访问的方法是什么?
最佳答案
您可以在大多数浏览器中使用 CSS 来完成此操作:http://jsfiddle.net/fQthQ/
* {
-ms-user-select: none; /* IE 10+ */
-moz-user-select: -moz-none;
-khtml-user-select: none;
-webkit-user-select: none;
user-select: none;
}
.selectable {
-ms-user-select: auto;
-moz-user-select: auto;
-khtml-user-select: auto;
-webkit-user-select: auto;
user-select: auto;
}
Opera 目前不支持此功能。
请参阅 MDN 页面了解更多信息:https://developer.mozilla.org/en-US/docs/CSS/user-select
关于jquery-ui - 为什么 .disableSelection() 被弃用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13959336/
我是一名优秀的程序员,十分优秀!