2010-12-01 12 views
1

J'essaie de détecter si un utilisateur a appuyé sur le bouton gauche de la souris ou sur le bouton droit + touche ctrl, mais je ne suis pas sûr de savoir comment faire.Puis-je détecter un clic gauche de la souris? Ou Ctrl + clic droit?

Je sais que ne détectent un simple clic, je pourrais utiliser

<li onClick=\"dosomething()\"> 

Y at-il une fonction pour faire

<li onLeftClick=\"dosomething()\"> ? 
+0

Vous voulez dire clic droit – DampeS8N

+0

Non, je veux dire clic gauche. Par défaut, onClick ... équivaut à un clic droit. Donc, je veux filtrer une action leftClick ... – frames

+1

Lorsque vous avez cliqué sur "ajouter un commentaire" quel bouton de la souris avez-vous utilisé? – DampeS8N

Répondre

4

Avec un jQuery pourrait faire quelque chose comme

$(document).click(function(e) { 
    if (e.button == 0) { 
     // was the left button 
     alert('clicked'); 
    } 
}); 

Et avec javascript normal, il devrait y avoir une sorte de variable d'événement accessible dans une fonction onClick

Peut-être que ça va aussi aider mais je ne sais pas si sa précision encore

http://www.javascripter.net/faq/leftvsri.htm

1

Vous pouvez vérifier la propriété button de l'événement. Ce que vous n'apprécierez certainement pas, c'est que différents navigateurs renvoient des valeurs différentes: consultez la documentation pour Firefox et IE. Donc, vous devrez également faire une détection de navigateur de quelque sorte.

0

Vous regardez du mauvais côté des choses. PHP est côté serveur, ce qui signifie qu'il s'exécute sur les serveurs par opposition aux personnes visitant votre site. Lorsque quelqu'un visite votre site, le visiteur (un client) envoie une demande de page à l'ordinateur serveur. Le serveur reçoit cette requête et envoie les informations au client. Cependant, lorsqu'un client clique sur sa souris, rien (par défaut) n'est envoyé au serveur.

La solution dépend de ce que vous devez faire. Si vous avez besoin de scripts PHP à exécuter lorsque vous cliquez sur quelque chose, examinez l'envoi de requêtes asynchrones via AJAX. Vous pouvez placer vos appels AJAX dans la fonction dosomething(). http://www.ibm.com/developerworks/web/library/wa-ajaxintro1.html est un bon endroit pour commencer. Si vous êtes familier avec jQuery, cependant, c'est un appel de fonction très simple: http://api.jquery.com/jQuery.ajax/

+0

Je ne vois pas de référence à php ou ajax dans sa question. Son exemple est javascript et la question est marquée javascript. Pas sûr pourquoi vous pensez qu'il regarde du mauvais côté ... –

+0

Il a été retagged): Il avait PHP avant. – munchybunch

Questions connexes