2012-10-28 56 views
1

我试过没有成功禁用此代码中的文本选择。编辑(谢谢techfoobar):http://jsfiddle.net/5uG63/3/我已经应用了大部分代码的唯一元素是其中包含三个元素的元素。其他人将能够突出显示。我知道没有任何拖动函数可以工作,因为这是一个更大的代码块的片段,很难发布,看到它通过Ajax获取元素。我并不是真的担心用户选择可能采取信息的文本,但有时当文本被选中时,它会干扰拖放功能。正文选择Internet Explorer

对于包含三个元素以及所有其他元素启用时的元素,似乎只有一种情况会发生这种情况。使用Internet Explorer时,如果要单击最左侧两个框之间的空白区域的中心,然后将鼠标拖到两个框的最右侧,则会选择数字3。我正在使用Internet Explorer 9.

我试图在CSS中禁用它,这似乎没有什么效果。我认为这个问题是,它被从它在div外选择

这是我使用的CSS:How to disable text selection highlighting using CSS?

-webkit-touch-callout: none; 
-webkit-user-select: none; 
-khtml-user-select: none; 
-moz-user-select: none; 
-ms-user-select: none; 
user-select: none; 

感谢您的帮助!

+2

不要只是将所有内容放入jsFiddle的HTML部分。将CSS和JavaScript放在正确的部分,并在HTML面板中只留下'body'的内容。 – Ana

+0

谢谢你的回复。我确实尝试过这样做,然后停止运作。抱歉给你带来不便。 – dannyn382

+0

这是你的小提琴的适当版本。 :-) http://jsfiddle.net/5uG63/3/ – techfoobar

回答

0

对于您的表,您已指定onselectstart="select()"。您应该将此更改为onselectstart="return select()"(注意返回)以确保您从返回的false select()函数被通知给浏览器,这又会阻止选择。

入住这小提琴http://jsfiddle.net/5uG63/4/

注:如果你开始从元件本身选择这样才有效。如果你开始从桌子外面选择,事情仍然会被选中。

+0

是的,我有一个解决方案,选择正在运行的元素。我遇到的问题是从外部选择元素的具体情况。感谢您的帮助! – dannyn382

相关问题