在Cordova/Phonegap下运行时,点击contenteditable div无法定位光标



我有一个可编辑内容的div,里面有多行文本,使用Cordova在iOS和Android上运行。第一次点击div会将输入焦点按预期移动到div,但之后我遇到了一个重大问题。。。

通常,我认为点击contenteditablediv会将光标放在(或至少非常靠近)点击发生的地方。如果我只是使用Mobile Safari或Android浏览器浏览到一个包含相同内容可编辑div的网页,就会发生这种情况。但当我在Cordova下运行它时,我发现当我四处点击时,光标不仅没有正确定位,而且通常情况下,不点击具有输入焦点的内容可编辑div实际上会使它失去输入焦点!

可以用这样一个超级简单的例子来重新编程:

<div contenteditable="true">
    <div>line 1</div>
    <div>line 2</div>
</div>

如有任何帮助,我们将不胜感激。我会把头发扯掉的,但现在这个策略有点晚了。。。我已经秃顶了。

我正在使用MeteorJS,但怀疑这是问题的原因,因为在常规移动浏览器中浏览网站不会产生问题。

谢谢大家!

问题似乎是由包含一个名为Fastclick的包引起的。一旦我把它取下来,敲击似乎就正常了。

我在iOS下遇到过类似这样的奇怪行为。尝试两件事:

  1. 使您的内容可编辑元素更高。在一个例子中,我发现光标不能放在离元素底部太近的位置,但添加足够的填充底部(实验)会使内容"可访问"
  2. 将焦点放在内容上触摸启动时的可编辑元素。看见https://github.com/xing/wysihtml5/issues/98#issuecomment-35707207。https://gist.github.com/shimondoodkin/1081133看起来也很相关

最新更新