javascript – 在另一个div上使用touch时,contenteditable不起作用

javascript – 在另一个div上使用touch时,contenteditable不起作用,第1张

概述请耐心等待,但这是一个非常具体的问题,需要一些背景知识,这是iPad iOS 5.0特有的问题 想象一下,创建一个可以重新组合IDE的HTML页面.左侧是资源管理器,右侧是使用contenteditable字段的编辑字段. 这是一个简化的结构: <div id="left"><ul> <li>hello</li> <li>hello</li> <li>hello</li> 请耐心等待,但这是一个非常具体的问题,需要一些背景知识,这是iPad iOS 5.0特有的问题

想象一下,创建一个可以重新组合IDE的HTML页面.左侧是资源管理器,右侧是使用contenteditable字段的编辑字段.

这是一个简化的结构:

<div ID="left"><ul>    <li>hello</li>    <li>hello</li>    <li>hello</li>    <li>hello</li>    <li>hello</li>    <li>hello</li></ul></div><div ID="content">    <div ID="editable" contenteditable="true">    edit here...    </div></div>

想象一下,左侧场地有数百个你好.我使用iScroll4库将这些元素转换为滚动系统.使用触摸滚动效果很好.

这是问题所在.假设我刷新页面,开始编辑,添加或删除文本.然后我轻d左侧看另一个元素.如果我然后触摸编辑字段我无法添加文本.

我在内容字段上面添加了一个链接元素

<a href="JavaScript:touched()">touch me</a>

触摸的功能什么都不做,但触摸链接会以某种方式更改内容,以便我可以再次编辑可信任的字段.我的第一印象是,这可能是一个焦点问题.所以我追踪了各种元素的重点.没有.我甚至为踢球设定了焦点,也没有发生任何事情.

我想,也许是丢失的关键序列?我添加了一个document.onkey事件,并且正在捕获所有关键事件.我踢的时候添加一个方法调用来将显式焦点设置为可编辑字段.没有.

在这一点上,我完全陷入困境,因为我不知道为什么满足于无法使用.让用户重新点击链接以允许焦点是IMO一个愚蠢的想法.有人遇到过这个问题吗?有人有解决方案吗?

谢谢

解决方法 您可以尝试使用CSS指针事件,以便在触摸contenteditable元素时不会滚动:

*[contenteditable=true]{  pointer-events:none;}

我不知道这是否适用于触摸屏,但值得一试.

总结

以上是内存溢出为你收集整理的javascript – 在另一个div上使用touch时,contenteditable不起作用全部内容,希望文章能够帮你解决javascript – 在另一个div上使用touch时,contenteditable不起作用所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1081742.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-27
下一篇2022-05-27

发表评论

登录后才能评论

评论列表(0条)

    保存