从鼠标点击中获取输入文本位置(以字符为单位)
JavaScript: Get input text position (in chars) from mouse click
我有一个HTML <input type="text">
或<textarea>
随机存在的文本,说[12345678]或[12345
67890]
我有一个任意定位鼠标向下点击事件在这个文本。我需要将2D的鼠标向下点击页面坐标转换为1D的基于字符的文本坐标,以便JS正确定位插入符号。显然浏览器内部有一些函数在做这种转换;把这个叫做。输入有一个标准的可变宽度字体,可以在任何级别的放大。浏览器限制为FireFox。我们有JQuery和JCursor
背景:输入字段是在深度嵌套的框中动态生成的,每个框都有粗糙的过载。遗留代码与最新FF实现的结合在某种程度上窃取了鼠标按下的传播/焦点,从输入元素弹出到它遇到默认的浏览器set- insert动作,而这并没有发生。我需要自己设置插入符号。
这个例子的一个解决方法是在事件上使用2级stopPropagation()调用,同时为0级onmousedown处理程序返回true(继续传播)。这避免了进一步的第2级调用冒泡[进入父结构的遗留代码],同时仍然确保本机默认操作[放置插入符号]实际上在冒泡阶段之后发生。然而,它仍然没有回答原来的问题,这有其他的应用。
相关文章:
- 根据页面的位置突出显示文本中的字符
- Javascript中的正则表达式,用于只有数字的字符串,并且不应在除数字以外的任何位置包含任何字符
- .replace 始终将字符放在第一个位置
- REGEX (javascript) - 允许字母数字字符中的特殊字符不在第一个位置
- 如何在JavaScript中根据字符的位置提取子字符串
- 如何使用javascript获取&使用字符偏移量设置插入符号位置
- "JSON_PARSING_ERROR:位置0处的意外字符(d);当从GAS发送GCM请求时
- 按字符位置内部换行文本元素
- 获取javascript中以a到Z之间的特定字符开头的第一个文本的位置
- 我怎样才能通过使用字符位置来获得单词
- 如何确定相对于内部每个字符的页面的位置(x,y)跨越javascript
- 匹配字符串中任意位置的 3 个字符的正则表达式
- 使用 jQuery 从字符串中获取倒数第二个字符的位置
- 如何使用Javascript获取文本区域内字符中的鼠标位置
- 如何在文本框点击事件中设置文本框中字符的第一个位置---Chrome问题
- 如何显示字符串中字符的每个位置
- 如何确定位置是否位于特定字符之间
- 文本区域中的插入符号位置和周围字符
- 如何编写正则表达式来验证特殊位置的字符
- 获得插入符号的位置(字符索引)在输入字段上掉落事件(FF, Chrome)