Dav*_*vis 7 css select html-table cross-browser highlight
希望禁用突出显示表的第一列.
<table>
<tbody>
<tr><td class="unselectable" unselectable="on"><button value="1" unselectable="on" class="unselectable"><div unselectable="on" class="unselectable">✘</div></button></td><td>Row 1</td></tr>
<tr><td class="unselectable" unselectable="on"><button value="2" unselectable="on" class="unselectable"><div unselectable="on" class="unselectable">✘</div></button></td><td>Row 2</td></tr>
<tr><td class="unselectable" unselectable="on"><button value="3" unselectable="on" class="unselectable"><div unselectable="on" class="unselectable">✘</div></button></td><td>Row 3</td></tr>
</tbody>
</table>
Run Code Online (Sandbox Code Playgroud)
*.unselectable {
-webkit-touch-callout: none;
-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: -moz-none;
-ms-user-select: none;
user-select: none;
}
Run Code Online (Sandbox Code Playgroud)
当用户选择并在表格上拖动鼠标按钮时,按钮文本(✘)将突出显示(不良行为).当用户复制并粘贴值时,不包括值(✘)(所需行为).
澄清一下,这是当前的行为(不受欢迎的):

下图显示了在表格中拖动鼠标后所需的行为:

大多数用户可能不会关心,但这是一种有点误导性的用户体验.无论用户突出显示文本并将其复制,都应该复制所有突出显示的文本.通过添加unselectable类,按钮的(✘)值会突出显示,但不会被复制.用户根本不应该突出显示(选择)(✘),因为它被设置为unselectable.
我在Xubuntu上使用Firefox 19.0.2,但我寻求跨浏览器解决方案.
什么是跨浏览器方式来阻止用户突出显示第一个表列(包含按钮)?
如果内容是通过 CSS 规则设置的,浏览器似乎不会复制内容content。希望你不需要支持 IE7
button.unselectable:after {
content: "\2718";
}
Run Code Online (Sandbox Code Playgroud)
http://jsfiddle.net/ExplosionPIlls/2LQfg/50/
| 归档时间: |
|
| 查看次数: |
4826 次 |
| 最近记录: |