Autor Zpráva
jamalos
Profil
Ahojte,

pisu web urceny pouze pro mobilni zarizeni (Android/iOS). Na webu mam tabulku s velkou sirkou a potrebuju, aby mi v bloku ve kterem je tabulka vlozena fungoval horizontalni posuv. Na androidu 4 a iphonech vse funguje jak ma, ale na androidech 2.x neni podporovana vlastnost: overflow: scroll/auto .

Proto jsem si v JS nakodil pro tato zarizeni "posouvaci tlacitka" vlevo/vpravo, ktera funguji ale pouze na stisk tlacitka coz na dotykovem zarizeni neni zadna pecka.

Potreboval bych poradit jak posouvat tabulku prubezne, pri podrzeni prstu nad tlacitkem. Zkousel jsem to pomoci timeru a udalosti mousedown, mouseup (na desktopovych prohlizecich toto reseni fungovalo). Problem je ze na Androidech 2.x se mi detekuje udalost mousedown, az po uvolneni prstu z tlacitka, misto toho aby byla odchycena hned pri stisku.

Dalsi problem mam, kdyz podrzim prst dlouze nad tlacitkem, ktere ma na pozadi obrazek, tak se vyvola kontextove menu androidu pro stazeni obrazku/zobrazeni obrazku/nastaveni pozadi. Sla by tato vlastnost zakazat?

Koncept webove stranky: http://2i.cz/78e994be6d

Diky za vsechny rady.
Chamurappi
Profil
Reaguji na jamalose:
Zkousel jsem to pomoci timeru a udalosti mousedown, mouseup
Použij ontouchstart a ontouchend. Existuje ještě ontouchmove, asi nejlepší české povídání o nich najdeš na Seznamu.

Pomocí těchto událostí jde overflow: scroll nasimulovat, ale nikdy to nebude stejné, jako nativní posouvání. Existuje na to tuším i nějaká hotová knihovna (kdysi jsem ji rozpitval a vybral si z ní jen to potřebné). Obecně je lepší se vnitřním posuvníkům vyhýbat, lidi na ně ani nejsou na mobilech moc zvyklí — protože i pokud je telefon umí, nedává to uživateli najevo.

kdyz podrzim prst dlouze nad tlacitkem, ktere ma na pozadi obrazek, tak se vyvola kontextove menu androidu
Nejen na Androidu. Vím, že na WP7 jde kontextové menu stornovat stejně, jako na desktopových Explorerech (a teď už i jinde), tedy pomocí zpracování události oncontextmenu vracející false, nezkoušel jsem, co na to starší Androidi. Myslím, že vrácení false z ontouchstart by také mohlo chodit.
jamalos
Profil
Ten seznamacky clanek mi pomohl. Presne to jsem potreboval. Diky moc!

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0