18

我试图让 iphone 用户可以轻松地将一些文本复制到移动 safari 中的剪贴板。就像通常的“触摸保持复制”一样。我希望用户复制一段特定的文本。我可以完全选择用于包装文本的 html 标记。我怎样才能让它变得容易,而不是随意?例如:

  • 有没有办法在使用javascript触地时“全选”文本?那么用户可以继续按住然后选择复制吗?

  • 有没有办法调出“全选”选项?就像在文本框中输入时一样?之后他们可以选择副本吗?

  • 如果没有 javascript 解决方案,我该如何安排 html 以帮助 Safari 轻松选择正确的文本位?而不是一个词,还是一个包装的 div?

我已经为各种元素尝试过 onFocus="this.select()" ,但似乎都没有。也试过onClick。

那些尝试将使用 ZeroClipboard 的网站移植到 iPhone 上的人可能会有一些想法。

干杯

4

4 回答 4

9

而不是this.select();我使用了以下内容并且它有效!

this.selectionStart=0;
this.selectionEnd=this.value.length;
于 2011-06-21T20:16:37.243 回答
7

对我来说,神奇的酱汁是这三者的结合:

onFocus="this.selectionStart=0; this.selectionEnd=this.value.length;" <!-- for big screens -->

onTouchEnd="this.selectionStart=0; this.selectionEnd=this.value.length;" <!-- for small screens -->

onMouseUp="return false" <!-- to stop the jitters -->
于 2012-09-23T14:55:54.550 回答
4

尝试 ontouchstart 而不是 onfocus。Onfocus 大约会开火。ontouchend 后 500 毫秒,与 onclick、onmousedown 和 onmouseup 相同。有关鼠标事件的更多详细信息,请参阅https://developer.apple.com/library/content/documentation/AppleApplications/Reference/SafariWebContent/HandlingEvents/HandlingEvents.html#//apple_ref/doc/uid/TP40006511-SW7

于 2010-02-11T21:14:28.040 回答
2

我遇到了同样的问题。onfocus 事件是正确的陷阱(如果您使用 iphone 键盘 [next]/[prev] 按钮,则不会触发 ontouchstart。)如果您放置 alert(); 在您的 onfocus="" 处理程序中,您会看到弹出的警报框。问题是 this.select(); 我仍然没有找到答案,但是当/如果我找到了,我会在这里发布。

于 2010-04-21T17:22:30.363 回答