Jak sugeruje tytuł, potrzebuję obejścia, aby uniemożliwić mobilne safari przewijanie dokumentu, gdy koncentruje się obszar tekstowy. Domyślnym zachowaniem jest przewijanie strony tak, aby jej wierzchołek był wyrównany z górną częścią okna. Po prostu chcę, aby moja strona pozostała na miejscu. czy to możliwe?Zapobieganie ruchomemu safari po przewinięciu strony, gdy textarea skupia się na
9
A
Odpowiedz
6
spróbować z tym
// javascript.js
var locked_scroll = false;
var last_pos = 0;
document.getElementById('my-text').addEventListener('focus', function(event){
console.log('set locked');
locked_scroll = true;
last_pos = document.getElementById('wrapper').scrollTop
});
document.getElementById('my-text').addEventListener('blur', function(event){
console.log('set unlocked');
locked_scroll = false;
});
document.getElementById('wrapper').addEventListener("scroll", function(event){
if(locked_scroll) {
event.target.scrollTop = last_pos;
}
}, true);
przewijania wydarzenie działa tylko wtedy, gdy element ma stałą wysokość i przelewowy własność ustawiony auto lub przewijania
#wrapper {
height: 300px;
overflow: auto;
}
sprawdzić przykład: http://jsfiddle.net/4YkNj/
6
Spróbuj tego:
<script type="text/javascript">
function blockMove() {
event.preventDefault() ;
}
</script>
i
<input name="textbox" type="text" value="" onkeyup="blockMove;"/>
Może trzeba czasomierza, aby umożliwić przeglądarka do przewijania textarea do góry przed blokując ruch.
+0
To byłoby prawidłowe rozwiązanie. Chociaż niektórzy bardziej zastanowili się, w jaki sposób będziecie musieli go wdrożyć, będą wymagane. Na przykład w wydarzeniu fokusowym? – Sphvn
Powiązane problemy
- 1. Obrazy LazyLoada nie pojawiają się po przewinięciu
- 2. Zapobieganie przemieszczaniu się strony Safari przez okno strony sieci Web, więc zdarzenie przeciągania może się zdarzyć
- 3. Zachowaj pozycję div po przewinięciu strony użytkownika
- 4. elementFromPoint zwraca null po przewinięciu strony
- 5. zmiana pozycji css elementów po przewinięciu strony
- 6. Zapobieganie przewijaniu z powrotem do pierwszego slajdu po przewinięciu przeszłości
- 7. ZwijanieToolbarLayout nie zwija się, gdy skupia się EditText
- 8. AutoCompleteExtender ma niewłaściwą pozycję, dla przeglądarek Webkit po przewinięciu strony
- 9. Jak załadować disqus po przewinięciu do dolnej części strony?
- 10. Wiązanie ze zdarzeniem dotykowym powodującym, że autofokus skupia się na dowolnym kliknięciu w Mobile Safari
- 11. zapobieganie przeskakiwaniu strony na stronę
- 12. jQuery zapobieganie odświeżeniu strony po kliknięciu przycisku
- 13. JavaScript lepki div po przewinięciu
- 14. Zapobieganie buforowaniu strony HTML
- 15. Pokaż div po przewinięciu 100 pikseli od góry strony
- 16. Zapobieganie iframe przekierowanie strony nadrzędnej
- 17. Zapobieganie przeładowaniu strony przez przeglądarkę, gdy użytkownik uderzy Powrót
- 18. Zapobieganie przesuwaniu się podrzędnego elementu div w przeglądarce Safari na iOS
- 19. Zapobieganie przewijaniu UIWebView po wyświetleniu klawiatury
- 20. Dlaczego HTML5 tak bardzo skupia się na JavaScript?
- 21. twitter bootstrap fix navbar po przewinięciu
- 22. Pływające przyciski akcji znikające po przewinięciu
- 23. Klawiatura Cordova/Phonegap 3.1 (nieruchomo) skupia się na polach formularzy - iOS 7
- 24. Włącz przycisk po przewinięciu modala do dołu
- 25. Zapobieganie skupianiu się na polu w przypadku niepowodzenia sprawdzania poprawności
- 26. Komórka UICollectionView nie zawsze odświeżana po przewinięciu
- 27. Jak zapobiec przewijaniu strony po przewinięciu do dołu elementu div wewnątrz?
- 28. Odtwarzanie wideo HTML5 po przewinięciu do
- 29. UITableViewCell zostaje ponownie zaznaczone po przewinięciu z powrotem na ekranie
- 30. Datagrid wybiera niewłaściwy wiersz po przewinięciu
T Zerknij [na to] (http://stackoverflow.com/questions/6437911/disable-scroll-on-a-uiwebview-allowed) – tipycalFlow
, więc chcesz, aby tekst był ukryty za klawiaturą? – soemarko