Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript
JavaScript Forum programmation JavaScript. Lire : Cours JavaScript, FAQ JavaScript, Toutes les FAQ JavaScript et Sources JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 23/01/2012, 00h32   #1
Membre habitué
 
Homme
Inscription : janvier 2011
Messages : 166
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : janvier 2011
Messages : 166
Points : 100
Points : 100
Par défaut Bloquer les liens sur une page

Salut à tous!
Je viens de commencer à apprendre le JavaScript et je fais des exercices assez "élémentaires". Voila je fais un code pour afficher une alerte à chaque fois qu'on clique sur un lien, mais les liens fonctionnent toujours.
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 
window.onload=initAll();
 
function initAll()
{
	var a = document.getElementsByTagName("A");
 
	for(var i=0;i<a.length;i++)
		a[i].onclick=lock();
}
 
function lock()
{
	alert("AW! That hurt!");
	return false;
}
Merci pour votre aide.
dré kam est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/01/2012, 02h34   #2
Membre Expert
 
Avatar de rotrevrep
 
Homme yannick inizan
Secrétaire d'état à la procrastination
Inscription : février 2011
Messages : 304
Détails du profil
Informations personnelles :
Nom : Homme yannick inizan
Âge : 25
Localisation : France, Cher (Centre)

Informations professionnelles :
Activité : Secrétaire d'état à la procrastination
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : février 2011
Messages : 304
Points : 1 118
Points : 1 118
Envoyer un message via MSN à rotrevrep Envoyer un message via Skype™ à rotrevrep
bonjour
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
function initAll()
{
var a = document.getElementsByTagName('a');
for(var i=0;i<a.length;i++)
	{
	a[i].href="";
	a[i].addEventListener("click",lock,false);
	}
}
function lock()
{
alert("toto");
}
ceci fera que chaque lien n'aura plus d'url.
__________________
(marquer un post résolu si vous êtes satisfait de la réponse )
le chat caramail de retour ? :/ http://www.tchats.net/beta.php
les projets web en cours sont sur : https://github.com/rotrevrep
rotrevrep est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 23/01/2012, 02h53   #3
Membre expérimenté
 
Duke Jikel
Inscription : mai 2010
Messages : 340
Détails du profil
Informations personnelles :
Nom : Duke Jikel

Informations forums :
Inscription : mai 2010
Messages : 340
Points : 548
Points : 548
Ouais mais ce n'est pas la solution. Tu aurais du faire un e.preventDefault() dans lock. :o


Pour répondre à notre cher ami, l"erreur qu'il fait est qu'il exécute immédiatement sa fonction lock, alors qu'il doit juste la passer en reference.
Supprime les () sur lock(), afin de n'avoir que la référence à cette fonction et ton problème sera réglé.



La solution propre c'est plutôt un eventlistener sur le document :o

Code :
1
2
3
4
5
6
 
document.documentElement.addEventListener(function(e) {
    if(e.target.nodeName == "a") {
         e.preventDefault();
    }
});
dukej est déconnecté   Envoyer un message privé Réponse avec citation 20
Vieux 23/01/2012, 12h08   #4
Membre habitué
 
Homme
Inscription : janvier 2011
Messages : 166
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : janvier 2011
Messages : 166
Points : 100
Points : 100
Merci pour vos réponses
dré kam est déconnecté   Envoyer un message privé Réponse avec citation 10
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 16h42.


 
 
 
 
Partenaires

Hébergement Web