Autor Zpráva
petrek
Profil *
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
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
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
Další věc je, že se snažíš detekovat onclick ale zachytáváš event keydown - stisk klávesy.
Radek9
Profil
Darker:
To bude asi zase jiná funkce. Ve <script>u to tam normálně věsí na document.
petrek
Profil *
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
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 *
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
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 *
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

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

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