一尘不染

在javascript中单击包含div的文本时,防止突出显示文本的最佳方法是什么?

css

我正在HTML / CSS /
JS中构建菜单,我需要一种方法来防止双击菜单时突出显示菜单中的文本。我需要一种将多个div的id传递给函数并在其中禁用突出显示的方法。

因此,当用户意外(或有意)双击菜单时,菜单显示其子元素,但其文本不会突出显示。

网络上有很多脚本,但是似乎有些过时了。最好的方法是什么?


阅读 236

收藏
2020-05-16

共1个答案

一尘不染

在(Mozilla,Firefox,Camino,Safari,Google Chrome)中,您可以使用以下命令:

div.noSelect {
  -moz-user-select: none; /* mozilla browsers */
  -khtml-user-select: none; /* webkit browsers */
}

对于IE,没有CSS选项,但是您可以捕获ondragstart事件,并返回false;否则,返回false。

更新资料

自2008年以来,此属性的浏览器支持已扩展。

div.noSelect {
  -webkit-user-select: none;  /* Chrome all / Safari all */
  -moz-user-select: none;     /* Firefox all */
  -ms-user-select: none;      /* IE 10+ */
}
2020-05-16