输入框精确文本选择

时间:2010-07-27 20:27:46

标签: javascript jquery html css

我有一个输入框:input type =“text”class =“rulerInputText”id =“rulerInputBox”readonly
我有Javascript代码来检测所选文本并使用它。

当我允许用户实际选择文本时,会出现问题。文本是基本的空格。当用户开始选择时,没有问题,但是当到达空间时,用户选择它并且自动选择下一个单词。基本上,我想阻止自动选择整个单词。我只想准确选择用户希望用鼠标选择的内容。

这是可能的还是我需要使用某种疯狂的Javascript黑客来完成这项工作?

2 个答案:

答案 0 :(得分:0)

这是操作系统的一项功能。操作系统提供的文本框可以自动选择更好的user experience。您对此有任何控制权。 (我刚刚在IE / Windows7上确认)

答案 1 :(得分:0)

这是IE的一个特色;没有其他浏览器有此行为。这是从Office复制的有意识的“智能选择”(*)功能,但在较新版本的Office中,它的工作效果不那么令人烦恼,如果您将指针移回原位,则可以恢复字符选择。

据我所知,无论是在客户端还是服务器端,都无法在IE中关闭它,因为微软认为它是一个非常棒的功能。叹。即使是JavaScript黑客攻击也无法提供方法。

关于你所能做的就是在每个角色之间放置不可见的空格,以便IE认为每个角色都是第二个单词。例如。尝试选择:

f​o​o b​a​r b​o​f z​o​t

这些字母之间有Unicode U + 200B ZERO WIDTH SPACE字符。这有副作用;如果用户试图编辑或复制并粘贴文本,他们会得到奇怪的隐形字符,可能会弄乱它。

(*:像往常一样,“智能”意味着对用户进行二次猜测,通常是错误的,并且坚持认为是正确的。也就是说“愚蠢”。从描述自己的任何东西开始跑一英里。)