Détecter le clic droit “ouvrir dans un nouvel onglet” sur le lien en jQuery?
Je veux que mes liens pour ressembler à la pièce de théâtre url, mais se comportent de manière différente, comme aller à quelques url de suivi de définir, lors d'un clic événement se produit.
Lorsque je clique sur le lien avec le bouton gauche de la souris, je peux l'attraper avec .cliquez sur la (les) de gestionnaire et de changer le href de quelque chose d'autre. Quand je clic droit, il ne sera pas pris .cliquez sur(), mais je peux l'utiliser .mousedown() et .mouseup(), qui est seulement une partie de la solution à mon problème.
Le truc, c'est que je veux faire en sorte que lorsqu'un utilisateur clique sur le lien, le lien serait encore une apparence légitime, mais quand il choisit d'ouvrir le lien dans un nouvel onglet, je voudrais prendre l'événement et de changer le href. À la fin quand le réel cliquez sur l'événement qui s'est passé sur le lien, le href serait de revenir à l'original. L'url où ils vont réellement fait quelque chose et les redirige vers l'url réelle, mais cela se passe très vite. Donc, le but de cette fonctionnalité est de tromper les utilisateurs et le suivi de leurs clics. Facebook est-il, mais comment font-ils pour gérer le clique droit et "ouvrir dans un nouvel onglet"?
D'accord, de ne pas obtenir n'importe où sans code, je suppose..
Un peu de code que j'ai droit:
link = $(selectorName);
var original_link = link.attr("href");
link.click(function(){
link.attr("href", "/track_and_redirect");
}).mousedown(function(event) {
switch (event.which) {
case 3:
//alert('Right mouse button pressed');
link.attr("href", "/track_and_redirect");
break;
default:
}
}).mouseleave(function(){
link.attr("href", original_link);
});
Actuellement, lorsque vous faites un clic droit sur le lien, l'url sera affiché dans le navigateur coin, comment puis-je contourner cela?
"je veux que mes liens pour ressembler à la pièce de théâtre url, mais se comportent de manière différente, comme aller à quelques url de suivi de définir" Ne pas. Il suffit de ne pas. Faire ce que Google n'sur la page de résultats de recherche: Faire le lien vous amène à une page de suivi qui redirige vers la cible. (Et même ce qu'ils font est un peu mal, parce que quand vous passez la souris sur le lien, ce que vous voyez dans la barre d'état n'est pas le vrai lien, vous allez, ils remplacent le texte d'état.)
Pourquoi les votes contre? Est quelque chose de pas clair? Aucun effort de recherche? Pas besoin de prendre ce émotionnellement. @musefan: il sera redirigé vers l'url de suivi, mais le lien lui-même doit ressembler à ça va directement à l'url cible.
En fait j'ai vérifié sur Google, si vous recherchez quelque chose, puis placez le curseur sur le lien, vous verrez l'url cible, essayez un clic droit sur elle et ne rien faire, placez de nouveau le lien et l'url est modifiée. Afin de ne pas le changer en arrière à l'original, après le clic droit qui s'est passé. C'est ce que j'ai en ce moment, mais ce n'est pas la solution idéale.
FWIW, je suis d'accord avec vous sur les downvotes. Downvoting n'est pas pour en désaccord avec quelqu'un de l'intention. Mais les gens sont les gens. 🙂
OriginalL'auteur Indrek Ruubel | 2013-04-11
Vous devez vous connecter pour publier un commentaire.
Vous ne pouvez pas le faire, ou vous pouvez le faire à droite, cliquez sur un événement pour votre url 🙂
Comment faire la distinction entre gauche et droite de la souris, cliquez avec jQuery
OriginalL'auteur Louis.CLast
J'ai utilisé "contextmenu" et il m'a aidé à changer toutes les url sur le bouton droit de la souris.
Elle prend également soin de l'ouverture dans une nouvelle fenêtre, copier le lien, etc.
OriginalL'auteur vikas
J'ai juste répondu à une question similaire sur ce post
comment capturer l'ouvrir le lien dans un nouvel onglet des événements en javascript?
s'il vous plaît vérifier
Voici ce que je ferais dans ton cas.
Joindre un contextmenu événement pour les liens (le même est déclenché lorsque l'utilisateur clique sur le lien, et le navigateur contextmenu s'ouvre).
Ajouter votre logique pour changer le href. de cette façon, quand il clique dessus, il faut à l'endroit où vous voulez.
Ajouter un mousedown ou passez la souris de l'événement sur le lien que vous avez changé de assurez-vous que vous corrigez le format ci quand ils planent au-dessus d'elle. Pas tout le monde a besoin de cette étape, mais vous n' (Cela dépend vraiment de ce que vous essayez d'atteindre, à savoir ce qui est le mieux dans votre cas)
Une fois le format est corrigé, vous pouvez séparer le mousedown ou tout autre événement.
OriginalL'auteur Marc