J'ai un gestionnaire de clics pour un lien spécifique, à l'intérieur duquel je veux faire quelque chose de similaire à ce qui suit:
window.location = url
J'en ai besoin pour ouvrir l'URL dans une nouvelle fenêtre, comment faire?
javascript
jquery
Chris
la source
la source
Voici comment forcer la cible à l'intérieur d'un gestionnaire de clics:
la source
$(this).attr('target', '_blank');
puisse être changée enthis.target = "_blank";
Aussi, si les liens d'ancrage sur la page peuvent être modifiés pour avoir desrel="external"
attributs, vous pouvez créer un gestionnaire de clics global pour la page avec le sélecteur jQuerya[rel="external"]
plutôt que d'avoir un gestionnaire de clics par lien sélectionné aveca#link_id
vous devrez utiliser
window.open(url);
références:
http://www.htmlcodetutorial.com/linking/linking_famsupp_120.html
http://www.w3schools.com/jsref/met_win_open.asp
la source
Vous pouvez également utiliser la méthode jquery prop () pour cela.
la source
Je viens de trouver une solution intéressante à ce problème. Je créais des travées qui contiennent des informations basées sur le retour d'un service Web. J'ai pensé essayer de mettre un lien autour de la travée de sorte que si je cliquais dessus, le "a" capturerait le clic.
Mais j'essayais de capturer le clic avec le span ... alors j'ai pensé pourquoi ne pas le faire lorsque j'ai créé le span.
J'ai ensuite lié un gestionnaire de clics à la plage qui a créé un lien basé sur l'attribut 'data-href':
Cela m'a permis de cliquer sur une plage et d'ouvrir une nouvelle fenêtre avec une URL appropriée.
la source
Quel est le problème avec
<a href="myurl.html" target="_blank">My Link</a>
? Aucun Javascript nécessaire ...la source
cette solution a également considéré le cas où l'url est vide et désactivé (gris) le lien vide.
la source
Soyez conscient si vous souhaitez exécuter des requêtes AJAX dans la fonction de gestionnaire d'événements pour l'événement click. Pour une raison quelconque, Chrome (et peut-être d'autres navigateurs) n'ouvrira pas de nouvel onglet / fenêtre.
la source
Ce n'est pas une très bonne solution mais cela fonctionne:
CSS:
HTML:
Javascript:
Exemple en direct: http://jsfiddle.net/7eRLb/
la source
Microsoft IE ne prend pas en charge un nom comme deuxième argument.
Le problème est
window name
. Cela fonctionnera:Microsoft autorise uniquement les arguments suivants, si vous utilisez cet argument du tout:
Consultez ce site Microsoft
la source