Autor | Zpráva | ||
---|---|---|---|
petrek Profil * |
#1 · Zasláno: 18. 9. 2012, 19:50:38 · Upravil/a: Moderátor (editace znemožněna) 19. 9. 2012, 10:45:51
Dobrý den, prosím Vás o radu, chci využívat na svém webu javascript, který hlídá stisknutí levého/pravého tlačítka myši.
V IE funguje vše správně, ale když to zkusím na tabletu v Androidu 4.2 v prohližeši Dolphine Browser, byť má povolen JS, tak to nefunguje, prosím Vás o radu. Kde mám hledat informace nebo víte sami, jak bych to mohl zvládnout? <html> <head> <title></title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <script language="javascript"> function noLeftClick() { if (event.button==1) { alert('Klikl jsi levým tlačítkem myši :) ') } } document.onmousedown=noLeftClick </script> </head> <body onkeydown="getArrows(event)"> <h3>Klikání :) </h3> </body> </html> |
||
Darker Profil |
#2 · Zasláno: 18. 9. 2012, 21:46:28
Nevím jak funguje ten zmiňovaný tablet, na mém mobilu ale žádné pravé tlačítko není... Asi by to chtělo nejdřív zjistit, jaké hodnoty se na dotykových zařízeních v event.button vyskytují.
|
||
Radek9 Profil |
#3 · Zasláno: 19. 9. 2012, 08:02:16
petrek:
Tipuji, že ti to krom IE nebude fungovat asi nikde. Používáš totiž window.event, což je věc IE. Ostatní prohlížeče dostávají event jako parametr. Musíš si udělat jakýsi hybrid. |
||
Darker Profil |
#4 · Zasláno: 19. 9. 2012, 08:05:30
Další věc je, že se snažíš detekovat onclick ale zachytáváš event keydown - stisk klávesy.
|
||
Radek9 Profil |
#5 · Zasláno: 19. 9. 2012, 08:40:44
Darker:
To bude asi zase jiná funkce. Ve <script>u to tam normálně věsí na document. |
||
petrek Profil * |
#6 · Zasláno: 19. 9. 2012, 09:13:13
Děkuji Vám moc za postřehy a rady,
to DARKER: zkouším to když mám vše připojeno (jako dokovací stanice) k mob.zařízení=klávesnice a myš a zkouším kód různě kombinovat....proto ten zmatečný kód...ale i takto v IE funguje na myš To RADEK9: Co prosím znamená udělat si hybrid, je někde příklad, víte o něčem, jak bych si mohl pomoci? Zajímavé je, že javascript je v mob. prohližeči povolen, ale javascript a tak jednoduchý nefunguje ...jak bych se a kde bych se mohl poučit o tom, jak předávat event jako parametr, prosím? Děkuji |
||
Chamurappi Profil |
#7 · Zasláno: 19. 9. 2012, 10:08:06
Reaguji na Radka9:
„Používáš totiž window.event, což je věc IE.“ A Opery. Dál bude potíž v event.button . Explorer čísluje tlačítka 1, 2 a 4, podle W3C mají hodnoty 0, 1 a 2 (takže nejde chytat kombinace a při onmousemove nejde rozeznat, jestli je zmáčklé levé tlačítko).
Reaguji na petrka: Co přesně má být cílem onoho skriptu? „v prohližeši Dolphine Browser“ Ten je postavený na Webkitu, bude fungovat velmi podobně jako Google Chrome na desktopu. „Co prosím znamená udělat si hybrid“ function noLeftClick(e) { var event = window.event || e; alert("V event.button je " + event.button + ", v event.which je " + event.which + "."); // tím se dozvíš, jaké hodnoty můžeš dostávat v různých prohlížečích } |
||
petrek Profil * |
#8 · Zasláno: 19. 9. 2012, 10:34:02
CHAMURAPPI:
Děkuji moc za odpověď. Cílem tohoto skriptu má být vypsání hlášky, že člověk stisknul Xkrát nějakou klávesu nebo Xkrát kliknul levým nebo pravým tlačítkem myší. To Xkrát zatím vůbec neřeším, zatím se učím jen základ, ale přáním je, ať to funguje i v IE i v mobilnich zarizenich, atd.. Zouším Váš hybrid CHAMURAPPI, zde: http://mujwebbik.unas.cz/click.html je tento kód: ale nefunguje, mám to prosím správně? <html> <head> <title></title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <script language="javascript"> function noLeftClick(e) { var event = window.event || e; alert("V event.button je " + event.button + ", v event.which je " + event.which + "."); // tím se dozvíš, jaké hodnoty můžeš dostávat v různých prohlížečích } </script> </head> <body onClick="getArrows(event)"> <h3>Klikání :) </h3> </body> </html> |
||
Radek9 Profil |
#9 · Zasláno: 19. 9. 2012, 10:48:13
Chamurappi:
„A Opery.“ Ale Opera normálně zvládá i event v parametru. To umí IE tuším až od verze 9 nebo 8. petrek: Nepřipisuješ to na document. |
||
petrek Profil * |
#10 · Zasláno: 19. 9. 2012, 10:58:10
RADEK9: Děkuji za radu, opraveno, funguje
co to teď prosím znamená: V IE hlasí: leve tl ( event button=1 event which=undefined) prostřední tl ( event button=4 event which=undefined) prave tl ( event button=2 event which=undefined) v mob.zar: leve i prave i prostedni ( event button=0 event which=1) Děkuji moc |
||
Časová prodleva: 12 let
|
0