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

Chr*_*kar 14 html javascript css

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

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

网上有很多脚本,但很多脚本似乎已经过时了.什么是最好的方式?

scu*_*ffe 23

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

div.noSelect {
  -moz-user-select: none; /* mozilla browsers */
  -khtml-user-select: none; /* webkit browsers */
}
Run Code Online (Sandbox Code Playgroud)

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

更新

自2008年以来,该属性的浏览器支持已经扩展.

div.noSelect {
  -webkit-user-select: none;  /* Chrome all / Safari all */
  -moz-user-select: none;     /* Firefox all */
  -ms-user-select: none;      /* IE 10+ */
}
Run Code Online (Sandbox Code Playgroud)

https://css-tricks.com/almanac/properties/u/user-select/