Si je clique simplement sur la plupart des liens de Facebook, il sera chargé sur la même page à l'aide d'ajax, mais si j'ai un clic central / ctrl, il sera chargé dans un nouvel onglet.
Je l'ai fait à mi-chemin, mais cela ne fonctionne pas complètement, [Editer], cliquez deux fois et cliquez avec le bouton droit de la souris sur> ouvrir-dans-nouveau-onglet ouvert est un nouvel onglet, mais ctrl-cliquez sur les appels onclic [/ Modifier]. Une idée de comment le faire correctement?
<a href="/link/location" onclick="doAjax(); return false;">link</a>
Au lieu de toujours renvoyer faussement directement dans l'en-ligne (en ligne), vous souhaitez renvoyer le résultat de la fonction, puis, dans le test de fonctionnement, si la touche de contrôle a été utilisée:
<a href="/link/location" onclick="return doAjax(event);">link</a> <script> function doAjax(e) { if (!e) e = window.event; if (!e.ctrlKey) { alert("Ajax code here"); return false; } } </script>
Demo: http://jsfiddle.net/DrvYg/
Plus d'informations sur les propriétés de l'objet d'événement pour les événements de souris: https://developer.mozilla.org/fr/DOM/MouseEvent
(En passant, vous ne devriez pas avoir besoin du bit if (!e)
pour un gestionnaire d'événements en ligne, mais je l'utilise pour l'écrire parce que je n'ai pas tendance à utiliser les gestionnaires d'événements en ligne.)