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 05/09/2011, 16h31   #1
Membre confirmé
 
Avatar de Pymento
 
Homme
Ingé. Info.
Inscription : janvier 2008
Messages : 338
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 24
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingé. Info.

Informations forums :
Inscription : janvier 2008
Messages : 338
Points : 273
Points : 273
Par défaut Methode Click() Chrome/IE ?!

Bonjour à tous,
j'ai cherché sans succès une solution à mon pb.

Tout simplement :
Code :
1
2
3
4
5
6
7
8
9
10
11
<html>
<head/>
<body>
 
<li id="lii" onClick="alert('test');" >test</li>
 
<script>
document.getElementById("lii").click();
</script>
</body>
</html>
Sur firefox l'alerte est donc déclanchée toute seule, IE lui me demande de valider les activX, tandis que chrome me crache cette erreur:

Code :
1
2
 
Uncaught TypeError: Object #<HTMLLIElement> has no method 'click'

Need help, je développe une webApp, et cette methode me sert énormément, une solution ? une de rechange ?

(PS: je peux me passer largement de IE).
Merci d'avance.
__________________
Memento Quia Pulvis Es, Et In Pulverem ReverteriS
Pymento est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/09/2011, 16h45   #2
Membre confirmé
 
Avatar de Pymento
 
Homme
Ingé. Info.
Inscription : janvier 2008
Messages : 338
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 24
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingé. Info.

Informations forums :
Inscription : janvier 2008
Messages : 338
Points : 273
Points : 273
Bon je viens de trouver une méthode alternative. Elle fonctionne.

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 
function doClick(obj) {
	try {
	var evt = document.createEvent("MouseEvents");
	evt.initMouseEvent("click", true, true, window,0, 0, 0, 0, 0,
	false, false, false, false, 0, null);
	var canceled = !obj.dispatchEvent(evt);
	if(canceled) {
	// A handler called preventDefault
	} else {
	// None of the handlers called preventDefault
	}
	} catch(er) {
	obj.click(); //IE
	}
}

Il faut appeler cette fonction à la place de click()
__________________
Memento Quia Pulvis Es, Et In Pulverem ReverteriS
Pymento est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/09/2011, 21h00   #3
Expert Confirmé Sénior
 
Avatar de RomainVALERI
 
Homme Romain VALERI
POOête
Inscription : avril 2008
Messages : 2 573
Détails du profil
Informations personnelles :
Nom : Homme Romain VALERI
Âge : 35
Localisation : France, Meurthe et Moselle (Lorraine)

Informations professionnelles :
Activité : POOête

Informations forums :
Inscription : avril 2008
Messages : 2 573
Points : 4 075
Points : 4 075
Citation:
Envoyé par Pymento Voir le message
..., tandis que chrome me crache cette erreur:
[
Uncaught TypeError: Object #<HTMLLIElement> has no method 'click'
]
...ce qui est tout-à-fait conforme aux specifications ^^

Sur un élément HTML (hors input), il me semble effectivement qu'on attendrait plutot dispatchEvent, donc a priori décider de l'utiliser dans ta seconde version était tout sauf une bidouille
__________________

...pour les linguistes et les curieux >>> générateur de phrases aléatoires

__________________
RomainVALERI est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/09/2011, 18h48   #4
Modérateur
 
Avatar de NoSmoking
 
Homme
Inscription : janvier 2011
Messages : 2 944
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Isère (Rhône Alpes)

Informations forums :
Inscription : janvier 2011
Messages : 2 944
Points : 4 779
Points : 4 779
Bonjour,
il existe bien sûr http://hornetbzz.developpez.com/tuto...pt/dom/#L5-E-1
NoSmoking est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 17h12.


 
 
 
 
Partenaires

Hébergement Web