
Envoy� par
david252
dois-je placer le "onClick" dans la page .php ou bien dans le mon_script.js ?

Envoy� par
Sharcoux
c'est aussi sur ton �l�ment html que tu dois ajouter le onclick. Si ton html est dans ton fichier php, c'est bien l� que tu dois le mettre
Tant qu'� apprendre les bases, autant faire les choses bien 
Pour placer des �v�nements sur des �l�ments de ta page, 3 solutions :
1) directement dans le HTML, par exemple :
<div id="divMachin" onclick="alert('rouge');">bla bla</div>
>>> probl�me : c'est carr�ment � contre-courant du principe de s�paration "contenus/mise en forme/comportements", �a peut poser des soucis de compatibilit� entre navigateurs, et c'est une gal�re � maintenir 
2) dans ton code JS, en utilisant les propri�t�s des �l�ments DOM :
a) soit entre balises script sur la page (inconv�nients : quasiment les m�mes que la solution 1)
b) soit dans un fichier JS � part appel� depuis le head de la page.
En tout cas dans ces deux cas (a et b), tu auras quelque chose comme :
1 2 3 4
| var elem = document.getElementById("idDeTonElement");
elem.onclick = function() {
alert("à la bombe");
}; |
Mais ce n'est pas id�al non plus dans certains cas de figure. Notamment, si d'autres �v�nements ont �t� ajout�s de cette mani�re � l'�l�ment sur le m�me d�clencheur, il y aura �crasement de la premi�re fonction par la seconde. Ca se produit le plus souvent avec des fonctions appel�es au d�marrage sur window.onload par exemple...
3) avec de vrais gestionnaires d'�v�nement 
IE :
1 2 3 4 5 6
| function traitementClic(e) {
// ici, le code à exécuter quand l'événement se produit.
// "e" est une référence à l'objet (de type Event) correspondant
}
var elem = document.getElementById("idDeTonElement");
elem.attachEvent("onclick", traitementClic); |
FF et les autres :
1 2 3 4 5 6
| function traitementClic(e) {
// ici, le code à exécuter quand l'événement se produit.
// "e" est une référence à l'objet (de type Event) correspondant
}
var elem = document.getElementById("idDeTonElement");
elem.addEventListener("click", traitementClic, false); |
version cross-browser :
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| function traitementClic(e) {
// ici, le code à exécuter quand l'événement se produit.
// "e" est une référence à l'objet (de type Event) correspondant
}
function addEvent(cible, condition, effet) {
if (cible.addEventListener) {
cible.addEventListener(condition, effet, false);
}
else if (cible.attachEvent) {
cible.attachEvent("on" + condition, effet);
}
}
var elem = document.getElementById("idDeTonElement");
addEvent(elem, "click", traitementClic); |
Enfin, grosso modo, hein ^^
Partager