在iPhone上的移动Safari中选择文本

Gol*_*ldy 18 javascript iphone copy mobile-safari zeroclipboard

我试图让iphone用户轻松地将一些文本复制到移动版Safari中的剪贴板中.与通常的"触摸 - 复制"一样.我希望用户复制一段特定的文本.我可以完全选择用于包装文本的html标记.我怎样才能轻松而不是抄袭?例如:

  • 有没有办法在使用javascript触摸时"全选"文本?然后用户可以继续触摸保持,然后选择复制?

  • 有没有办法提出"全选"选项?就像在文本框中输入一样?之后他们可以选择复制吗?

  • 如果没有javascript解决方案,我如何安排html以帮助Safari轻松选择正确的文本位?与单词或包装div相反?

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

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

干杯

小智 9

而不是this.select();我使用以下,它的工作!

this.selectionStart=0;
this.selectionEnd=this.value.length;
Run Code Online (Sandbox Code Playgroud)


小智 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 -->
Run Code Online (Sandbox Code Playgroud)


小智 4

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