5

我有一个 HTML<input type="text"><textarea>随机的现有文本,例如 [12345678] 或 [12345
67890]
我在此文本中有一个任意定位 mousedown 点击事件。我需要将 2D mousedown 点击页面坐标转换为 1D 基于字符的文本坐标,以便 JS 正确定位插入符号。显然,浏览器有一些在内部进行这种转换的功能;最好叫这个。输入具有标准的可变宽度字体,并且可以处于任何放大级别。浏览器仅限于 FireFox。我们有 JQuery 和 JCursor。

背景:输入字段是在深度嵌套的盒子中动态生成的,每个盒子都有粗糙的重载。遗留代码与最新的 FF 实现的结合以某种方式窃取了从输入元素冒出的时间和它点击默认浏览器设置插入符号动作的时间之间的 mousedown 传播/焦点,这没有发生。我需要自己设置插入符号。

4

1 回答 1

0

此示例的解决方法是对事件使用 2 级 stopPropagation() 调用,同时为 0 级 onmousedown 处理程序返回 true(继续传播)。这避免了在冒泡 [进入父结构的遗留代码] 中的进一步级别 2 调用,同时仍然确保本机默认操作 [放置插入符号] 在冒泡阶段之后确实发生。但是,它仍然没有回答原始问题,该问题还有其他应用程序。

于 2013-01-09T03:18:15.683 回答