Dra*_*ord 5 javascript text input cursor caret
我有一个 HTML<input type="text">或<textarea>随机存在的文本,比如 [12345678] 或 [12345
67890]
我在这个文本中有一个任意定位的 mousedown 单击事件。我需要将 2D mousedown 点击页面坐标转换为基于字符的 1D 文本坐标,以便 JS 正确定位插入符号。显然浏览器有一些函数在内部进行这种转换;最好这样称呼。输入具有标准的可变宽度字体,并且可以处于任何放大级别。浏览器仅限于 FireFox。我们有 JQuery 和 JCursor。
背景:输入字段是在深度嵌套的框内动态生成的,每个框都有粗糙的重载。遗留代码与最新 FF 实现的结合以某种方式窃取了从输入元素冒泡到它点击默认浏览器 set-caret 操作的时间之间的 mousedown 传播/焦点,而这种情况并没有发生。我需要自己设置插入符号。
此示例的解决方法是对事件使用 2 级 stopPropagation() 调用,同时为 0 级 onmousedown 处理程序返回 true(继续传播)。这避免了冒泡中的进一步 2 级调用[进入父结构的遗留代码],同时仍然确保本机默认操作[放置插入符号]实际上在冒泡阶段之后发生。然而,它仍然没有回答原来的问题,原来的问题还有其他应用。
| 归档时间: |
|
| 查看次数: |
1927 次 |
| 最近记录: |