2011-03-06 48 views
11

因此,在使用HTML5中的滚动条和内容时,我开始注意到一个恼人的趋势。如果我正在拖动元素(例如视频的滚动条,滚动条,用户可以点击并拖动的任何内容)附近的文本,则会选择附近的文本,就好像我没有使用控件,只是拖动在页面上。使文字无法选择

这是非常讨厌的,我似乎无法找到正确的字符串搜索谷歌找出是否有可能使某些元素“不可选”。

任何人都知道如何做到这一点?

回答

14

它因浏览器而异。这些CSS属性将针对WebKit和基于Gecko的浏览器,以及任何未来的浏览器支持user-select

user-select: none; 
-webkit-user-select: none; 
-moz-user-select: none; 
+0

太棒了!我很尴尬,我已经做到这一点,不知道这一点。 – Jesse 2011-03-06 00:36:56

+1

只要知道'-moz'只会让选择的外观看不见,它不会在功能上禁用它。 https://developer.mozilla.org/en/CSS/-moz-user-select – Marcel 2011-03-06 01:10:13

+3

还有Opera的'-o-user-select'和IE的'unselectable' expando属性。查看我的答案了解详细信息。 – 2011-03-06 16:08:31

1

在你的IE能不能选择一个元素内使文本立即(即不适用于文本在其子中)使用unselectable="on"属性。

请注意,如果从JavaScript应用您必须使用el.setAttribute("unselectable","on")。只是尝试el.unselectable="on"将无法​​正常工作。 (在IE9中测试)。

+0

你说得对,当IE9处于标准模式时(在兼容模式下,'unselectable'属性工作正常)。我现在更新了五个涉及'不可选择'的答案(显然这是一天中允许您发布的最大数量的编辑,我不知道为什么)。奇怪的是你的一个编辑被批准了,而一个相同的编辑被拒绝了。 – 2012-07-22 16:24:07

+0

为什么在IE 9中发生这种变化的一些背景:http://msdn.microsoft.com/en-us/library/ie/gg622931%28v=vs.85%29.aspx – 2012-07-22 16:30:04