Autor Zpráva
Majkl578
Profil
Zdravím,
v první řadě bych chtěl poděkovat vedení diskuze za změny, které se tu provedly v posledních dnech/týdnech. Je to opravdu skvělý krok kupředu. Nejvíce se mi líbí ajaxová možnost odesílání, editace a náhledů příspěvků. Fakt pěkné! :)

Teď ale k mému problému.
Dnes jsem si všiml, že při použití tagu pre je možné použít tabulátor. Super (škoda jen, že není opravdový, ale to nevadí)! Při jeho použití se ale textarea začne chovat podivně. Ve chvíli, kdy píši delší příspěvek než je velikost textarey, mě opticky (ne kurzorem) přesune na začátek příspěvku. To je opravdu iritující, psát kód kdy mi při použití tabu "uteče". Je to spjaté i s problémem, kdy když jsem na začátku a kurzor mám níž kde ho nevidím a něco udělám (napíšu něco, posunu šipkou apod), mě nepřesune aktuální polohu v příspěvku.

Věřím, že to půjde nějak vyřešit. Díky předem za zájem

PS: Přikládám hlavičku prohlížeče (vše důležité):
Mozilla/5.0 (X11; U; Linux i686; cs; rv:1.9.2b2pre) Gecko/20091102 Namoroka/3.6b2pre (.NET CLR 3.5.30729)
Joker
Profil
Majkl578:
(škoda jen, že není opravdový, ale to nevadí)
Já teda radši dvě mezery.

Jinak u mě (Opera 10 / Ubuntu) se žádný z těch problémů nevyskytuje.
Podle identifikace toho prohlížeče jde o betaverzi Firefoxu 3.6? Není to způsobené spíš tím prohlížečem? Dělá to i stabilní Firefox?
Radek9
Profil
Joker:
Dělá to i stabilní Firefox?
Mě to dělá i stabilní firefox.

Já teda radši dvě mezery.
Já taky :D
Majkl578
Profil
Joker:
Podle identifikace toho prohlížeče jde o betaverzi Firefoxu 3.6?
Jde o denně aktualizovaný noční build verze 3.6 beta 2 pre.

Dělá to i stabilní Firefox?
Ano. (Mozilla/5.0 (X11; U; Linux i686; cs; rv:1.9.1.4) Gecko/20091016 Firefox/3.5.4 (.NET CLR 3.5.30729))
Jan Tvrdík
Profil
Potvrzuji chování ve stabilním Firefoxu a neprojevení problémů v Opeře 10.

Tipuji, že to dělá nějaký zákeřný focus.
Zechy
Profil
No, já v Google Chrome když zmáčknu tabulátor tak se mi přepne na tlačítko či další věc ve formuláři :D
Chamurappi
Profil
Reaguji na Jana Tvrdíka:
Tipuji, že to dělá nějaký zákeřný focus.
Trefa. Myslím, že se mi to teď povedlo v sandboxu opravit.


Reaguji na Majkla578:
Díky za upozornění.

škoda jen, že [tabulátor] není opravdový
On by ho stejně obarvovač kódu předělal na mezery.


Reaguji na Zechyho:
Pokud jsi najetý uvnitř [pre], tak ne.
Medvídek
Profil
Zechy:
                    
                    Musíš dát tab v tagu [pre]
                          
Zechy
Profil
Tak vidim že v tom ne no :).
    Pokus s tabem      
Joker
Profil
Chamurappi:
Myslím, že se mi to teď povedlo v sandboxu opravit.
Zkusil jsem Firefox 3.5.4 / Ubuntu:
- vložení nějaké značky skutečně v ostré verzi přeroluje na začátek textarea, v sandboxu se to chová správně
- „když jsem na začátku a kurzor mám níž kde ho nevidím a něco udělám (napíšu něco, posunu šipkou apod), mě nepřesune aktuální polohu v příspěvku
Tenhle problém nemám ani v sandboxu, ani v ostré verzi.
Majkl578
Profil
Joker:
- „když jsem na začátku a kurzor mám níž kde ho nevidím a něco udělám (napíšu něco, posunu šipkou apod), mě nepřesune aktuální polohu v příspěvku“
Tenhle problém nemám ani v sandboxu, ani v ostré verzi.
Tohle jsem asi špatně formuloval, zejména ten příklad. Dělá to asi právě jen s tím tabulátorem... :)
Do sandboxu nemůžu, takže počkám, až to bude tady..
Str4wberry
Profil
Reakce na Chamurappiho:
Myslím, že se mi to teď povedlo v sandboxu opravit.
Mně se tak nezdá. Když v Opeře 10 uvnitř [pre] odřádkuji, tak se mi natáhne posuvník, ale kurzor zmizí kamsi dolů, neodroluje se. Při vložení jiného znaku je vše v pořádku.
Radek9
Profil
Str4wberry:
Přesně to samé se mi děje. Když v [pre] odřádkuji, nevidím kurzor. Pomůže jen stisknutí klávesy. Ani pokud vložím značku, není vidět.
Majkl578
Profil
Radek9:
Stejný problém jako je popsán na začátku. Dobrý postřeh ale je, že to dělá i vložení jakékoliv značky! :)
Str4wberry
Profil
Ještě mě napadlo, že by bylo dobré neměnit funkci Tabu při neuzavřeném [pre], když jej jen tak zmíním v příspěvku (jako například tady).
Chamurappi
Profil
Reaguji na Jana Tvrdíka:
Tipuji, že to dělá nějaký zákeřný focus.
Nedělá. Dělá to samotné přepsání hodnoty v <textarea>, prohlížeč si usmyslí, že když je v ní nová value, že ukáže její začátek.


Jediné možné řešení asi je, že si před každou změnou zapamatuji pozici posuvníku (tedy vlastnost scrollTop) a po změně ji nastavím zpátky. Tak snadné to ale není, protože občas chceme, aby se posuvník kvůli změně pohnul (třeba při vložení odřádkování). Takže musím zjistit výšku celého obsahu <textarea> (tedy vlastnost scrollHeight) před vložením, odečíst ji od výšky po vložení a výsledek přičíst ke scrollTop. Do dokonalosti to má i tak daleko, proto se celá tahle finta bude odehrávat jen v Mozillách. Nasadil jsem ji do sandboxu.


Reaguji na Str4wberryho:
neměnit funkci Tabu při neuzavřeném [pre]
Hotovo.
Str4wberry
Profil
Reakce na Chamurappiho:
Do dokonalosti to má i tak daleko, proto se celá tahle finta bude odehrávat jen v Mozillách.
Z mého pohledu je to v Opeře 10 už OK.
Chamurappi
Profil
Reaguji na Majkla578:
Do sandboxu nemůžu, takže počkám, až to bude tady.
Už je to tady.


Opravdu by mě potěšilo, kdyby někdo našel lepší řešení, než je to znásilňování posuvníku.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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