我正在做一个基于浏览器的JavaScript游戏。因此,在游戏中,用户无需复制/粘贴文本。但是,在许多地方,用户需要单击并拖动才能在游戏中进行选择。

在游戏中,有许多单元格,内部只是普通的表格单元格,并具有不间断的空间来阻止它们在firefox中崩溃(我可以使用CSS阻止IE,Safari和Opera中的崩溃,但是由于某些原因,它在firefox,所以我求助于不间断的空格),使用纯背景色或背景图像。

当玩家在其上拖动选择时,游戏会通过更改背景颜色来突出显示单元格。但是,浏览器还会突出显示不间断的空格,在某些单元格中留下灰色矩形。

浏览器还使用不同于游戏的方法来确定选择了什么。

例如在5 x 5正方形中,如果用户选择(1,1)至(3,3),则游戏会突出显示以下选择:

|   |   |   |   |   |
|   | X | X | X |   |
|   | X | X | X |   |
|   | X | X | X |   |
|   |   |   |   |   |


但浏览器在以下内容中突出显示了不间断空格:

|   |   |   |   |   |
|   |   | X | X | X |
| X | X | X | X | X |
| X | X | X | X |   |
|   |   |   |   |   |


有什么方法可以阻止浏览器选择样式显示出来吗?至少在firefox和Chrome中,但最好是跨浏览器。

最佳答案

对于Firefox,您可以添加CSS样式:(mozilla guide

-moz-user-select: none


对于Chrome和Safari :(尚无法找到可靠的来源)

-khtml-user-select:none


如果您更喜欢JavaScript解决方案,以下是我在previous answer中找到的解决方案:

<div onselectstart="return false">some stuff</div>

关于css - 跨浏览器隐藏选择显示的方式,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/843445/

10-12 19:01
查看更多