Nie chcę, aby moja strona przewijała się. Mam <body>
o szerokości 100%, ustawiłem jego overflow
na hidden
i na ogół działa. Bez pasków przewijania, bez przesuwania gestów myszy/touchpada. Ale jeśli kliknę i przeciągnę w dowolnym miejscu, nadal mogę przewijać.Jak zapobiec przewijaniu ekranu po przeciągnięciu myszą, gdy element pozycjonowany absolutnie jest (częściowo) wyłączony z ekranu?
Stinker jest to, że mam div ustawiony absolutnie tak, że trzyma się poza rodzicem, częściowo (a czasem całkowicie) poza ekranem. Z kilku powodów nie mogę tego teraz ominąć.
Ten skrzypce ilustruje mój problem (widzę go w WebKit), http://jsfiddle.net/ax5x7/2/
Przeciąganie prawie wszędzie na prawo w HTML spowoduje stronę przesuwają się wzdłuż. Trudno jest wrócić, ponieważ nie ma pasków przewijania, więc jeśli zrobisz to przez pomyłkę, wygląda źle.
Kręcenie tutaj znalazło jedną sugestię związaną z wycofaniem jQuery disableSelection()
, ale chyba że robię to źle (zastosowałem to do ciała jak i wszystkich dzieci) to wydaje się nie przeszkadzać w zachowaniu. Znalazłem także pytanie sprzed kilku lat, które nie miało satysfakcjonującego rozwiązania. Bandaid jest trochę kludgy, wolałbym nie przewijać do (0,0) w przerwie.
Dziękuję, to działało dla mnie. Dostaję dreszcz, kiedy zaczynam się przeciągać, ale przynajmniej ekran się nie zepsuł. – Terraflubb
Działa świetnie. Prosty i świetny w Firefoksie i Chrome. – kwoxer