【发布时间】:2013-12-21 00:40:10
【问题描述】:
我有 3 个文本区域。第一个是最普通的,它是实际<form> 的一部分,它是可编辑的,等等。另外两个是特殊用例 - 您单击/点击它们,它们的内容会突出显示,以便您可以复制它们(想想“内容提取”,而不是“用户输入”)。所以这两个文本区域不能相互链接或链接到主文本区域。
我找到了一种解决方法,就是将每个textarea的tabindex设置为负值。问题是,在 Mobile Safari 上,屏幕键盘上方的“上一个”和“下一个”按钮处于活动状态,当没有将 tabindex 值应用于主文本区域时,2 个奇怪的文本区域最终成为主文本区域的单向路径;当有一个 tabindex 值应用于主文本区域时,奇怪的行为就更难描述了。
如何让我的 3 个文本区域假装它们不存在于同一页面上?!请不要推荐 iFrames,它实际上是一个 PhoneGap 应用程序......一个 jQuery 解决方案会很好!
【问题讨论】:
-
如果其他两个区域不是供用户输入的,为什么还要将它们作为
textarea元素? -
因为当用户点击/点击它们时,需要向用户显示“复制”选项。不幸的是,当您在网站上看到“点击复制”时,这实际上是在使用 Flash,并且在现代浏览器上没有 JS 方法可以复制到剪贴板。这是一个实际可行的巧妙解决方法,但是是的,它们必须是文本区域才能调出键盘并提示复制。
-
什么?在任何普通浏览器上,当我三次单击
div元素,然后右键单击时,将获得一个复制选项。就像textarea一样。对于这两个元素,双击只选择当前单词。因此,请说明您真正在做什么以及仅通过使用textarea期望实现什么。 -
忘掉“普通”浏览器吧,我说的是Mobile Safari(大概是Android)。当用户点击 textarea 时,会有 javascript 从字符 0 到 99999 进行选择,基本上选择了 textarea 中的所有内容。我们的想法是让用户尽可能轻松地使用“复制”选项。
-
那么你说的这个“javascript”是什么,为什么你不能为
div元素编写一个选择操作?您应该在问题中公开所有相关代码,并询问所需的功能,而不是假设的“tabindex”行为。
标签: jquery html mobile-safari