impossibilite de differencier les boutons de la souris et le nombre de clics
Bonjour,
j'essaie lors d'un clic du bouton droit de la souris dans un canvas, d’exécuter une fonction (javascript) avec comme paramètre les coordonnées de l’événement.
Pour ce faire, j'ai essayé le code suivant:
Code:
1 2
|
oncontextmenu = ma_fonction(window.event.clientX, window.event.clientY); |
sachant que j'ai besoin d'une action variant selon l’élément où a eu lieu le clic.
Je m'explique. Si le clic a eu lieu "sur" un élément de type A appeler la fonction Af, si c'est un élément de type B appeler la fonction Bf.
Sachant qu'il n'y a qu'une fonction a appelé par type et pas plus il ne m'est pas nécessaire de passer par un menu.
D'avance merci
impossibilite de differencier les boutons de la souris et le nombre de clics
autre solution:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
|
init() {
canvas.ondblclick = function(canvas) {
myDblClick(canvas);
}
canvas.oncontextmenu = function(canvas) {
myContextmenu(canvas);
return false;
}
}
function myContextmenu(canvas) {
alert("clic droit");
}
function myDblClick(canvas) {
alert('double clic');
} |
plus besoin de
Code:
oncontextmenu = ma_fonction(event)
dans la balise canvas et tout fonctionne bien.
Sauf si on rajoute un écouteur sur un simple clic gauche ou une pression de bouton ainsi le code suivant:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
|
init() {
canvas.onmousedown = function(canvas) {
myClick(canvas);
return false;
}
canvas.ondblclick = function(canvas) {
myDblClick(canvas);
}
canvas.oncontextmenu = function(canvas) {
myContextmenu(canvas);
return false;
}
}
function myContextmenu(canvas) {
alert("clic droit");
}
function myDblClick(canvas) {
alert('double clic');
}
function myClick(canvas) {
alert("simple clic");
} |
donne toujours le même message quelque soit le bouton ou le nombre de clics : "simple clic":cry:
Si quelqu'un peut m'expliquer ce qui ce passe ou comment avoir les 3 événements distincts