Bonjour,
Mon but est d'ajouter un input suite a un click sur un des liens d'un menu avec les bonnes classes pour qu'il hérite du css et du js du framework => MDL.
Voici mon problème :
Quand je clique sur un des liens du menu j'ajoute bien le champ de type input avec les bonnes classes .
J'écoute le click avec un addEventListener .
Le problème est qu'il n'hérite pas du js donc de l'animation . Je sais qu'avec jquery on peut faire un on click sur le parent mais je veux tout faire en js pur.
J'espère avoir été clair .
Merci de vos réponses.
Il va être assez difficile de t'aider si tu nous ne donnes pas ton code en question ...
Voici mon code :
links[i].addEventListener('click', function(e){
e.preventDefault();
parent.appendChild(button);
}
parent = div parent,
button = nouveau bouton ajouté.
Quand j'ajoute le bouton dans le dom , le js ne fonctionne pas sur lui.
Merci de ta réponse.
Salut, effectivement sans code c'est difficile d'avoir une idée pour résoudre ton problème.
Mais comme tu as dis connaitre le 'on' en jQuery sur le container et que tu souhaites écrire tout en vanilla JS, ceci est une piste : pourquoi tu n'attaches pas tout simplement un listener sur ton button.
links[i].addEventListener('click', function(e){
e.preventDefault();
parent.appendChild(button);
button.addEventListener('click', function(e){
console.log('click');
}
}
Cela est potentiellement assez peu lisible et sale vu qu'on ne voit pas ce que ton script fait, je t'invite donc à nous montrer un peu plus de code.
Bonne journée !
Voici mon code en entier :
var createDiv = function(){
var element= document.createElement('div');
element.innerHTML=config.contentHtml;
for(var p in config.classDiv){
element.classList.add(config.classDiv[p]);
}
return element;
}
var links = menu.querySelectorAll(config.tag);
var linkslenght = links.length;
var classDivParent = document.querySelector(config.classDivParent);
var parent = classDivParent.parentNode;
var premierfils = parent.firstChild;
for(var i=0; i < linkslenght; i++){
links[i].addEventListener('click', function(e){
e.preventDefault();
var div = createDiv();
parent.appendChild(div);
})
}
}
L'objet config comme son nom l'indique est juste un objet de configuration ( pour adapter mon code sur différents projets).
Merci de vos réponses.
Ps: je vous l'accorde le nom des variables est juste a vomir :D ( cela va être modifier).