2009-12-14 18 views
18

Próbuję ułatwić użytkownikowi iPhone'a skopiowanie tekstu do schowka w mobilnym safari. Jak w zwykłej "kopii zatrzymania dotykowego". Jest pewien fragment tekstu, który chcę skopiować do użytkownika. Mam pełny wybór znaczników html, w których zawijam tekst. Jak mogę to ułatwić, zamiast abrarować? Na przykład:Wybieranie tekstu w mobilnej przeglądarce Safari na iPhonie

  • Czy istnieje sposób, aby "zaznaczyć wszystko" tekst po dotknięciu przy użyciu javascript? Następnie użytkownik może po prostu kontynuować trzymanie przez dotyk, a następnie wybrać opcję kopiowania?

  • Czy istnieje sposób, aby wyświetlić opcję "wybierz wszystkie"? Jak możesz podczas pisania w polu tekstowym? Po którym mogą wybrać kopię?

  • Jeśli nie ma rozwiązania javascript, w jaki sposób mogę ustawić plik HTML, aby pomóc Safari w wybraniu właściwego fragmentu tekstu? W przeciwieństwie do samego słowa lub zawijającego diva?

Próbowałem onFocus = "this.select()" dla różnych elementów, żaden nie wydaje się działać. Próbowałem również onClick.

Osoby, które próbowały przenieść witrynę korzystającą z ZeroClipboard na iPhone'a, mogą mieć kilka pomysłów.

Cheers

+0

starałem dla tej samej funkcji w mojej aplikacji iPhone. Każdy, kto ma wątpliwości dotyczące tej funkcji, może ją zobaczyć w aplikacji na iPhone'a "Opera". –

+0

Przed wprowadzeniem funkcji kopiowania i wklejania do systemu iOS była zakładka skryptu Java o nazwie pastebud. Oto film z YouTube'a skryptu java w akcji http://www.youtube.com/watch?v=_ybh573ZASc Witryna http://www.pastebud.com/ nie działa, ponieważ firma Apple wprowadziła kopię/wklej w iOS. Każdy z tym skryptem java może nam pomóc. –

Odpowiedz

2

Wystąpiłem w tym samym problemie. Zdarzenie onfocus jest właściwe do pułapkowania (ontouchstart nie jest uruchamiany, jeśli użyjesz przycisków klawiatury [next]/[prev] iphone.) Jeśli umieścisz alert(); w twoim sterowniku onfocus = "" pojawi się okienko alertu. Problemem jest this.select(); Wciąż nie znalazłem odpowiedzi na to, ale kiedy/jeśli to zrobię, opublikuję to tutaj.

+0

Mam ten sam problem. skupienie jest zdecydowanie zdarzeniem, które należy wpaść w pułapkę. Wydaje mi się, że dla drobnego ulepszenia użyteczności, jak to, jestem OK, pisząc to na zepsutym mobilnym safari i pozwalając mu to naprawić. – SimplGy

9

zamiast this.select(); Użyłem poniższych i zadziałało!

this.selectionStart=0; 
this.selectionEnd=this.value.length; 
+0

To działało dla mnie na moim iPhone 3GS - iOS 4.3 – Mark

+0

Nadal działa z iOS 7 na iPhone 5! – mygzi

7

Magia sos dla mnie było połączenie tych trzech:

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 --> 
+0

To działało dla mnie z onClick zamiast onFocus/onTouchEnd. onMouseUp było ważne – netzaffin