Wie kann ich addEventListener für Elemente vom Server?
-
06-07-2019 - |
Frage
Wie füge ich ein Click-Ereignis mit addEventListener (window.onload) wenn die Tags in Frage werden erzeugt aus der Server (über eine xmphttp Anfrage, nicht weniger)?
Danke!
Lösung
Sie haben die Veranstaltung gelten hanlders nach die Elemente in das DOM eingefügt wurden
Andere Tipps
Sie können versuchen, Ereignisse für übergeordnete Elemente zu handhaben, die zur Verfügung stehen als DOM geladen, dann Element Ereignis im Zusammenhang erhalten.
<ul id="list">
<li id="first">The first</li>
<li id="second">The second</li>
<li id="third">The third</li>
</ul>
document.getElementById('list').onclick(function(e){
o = e.originalTarget;
// if you click on second li o will bi the same as document.getElementById('first')
// even if li with id "first" is inserted to DOM after creating this event handler to "list"
// so here you can perform actions with it
// hope it will help
});
Vielen Dank an Alle.
Ich löste dies durch den Code unten in dem „Eines Erfolg“ Ereignis der XMLHTTP-Anforderung hinzu, dass der DOM mit den Elementen vom Server bevölkert kommen. Das funktionierte für mich. Josh, Sie haben meinen Kopf in der richtigen Richtung bewegen (obwohl es schön gewesen wäre, einen Code Abbildung zu sehen), damit ich markierte Ihre Antwort als die Antwort.
if ((xmlhttp.readyState == 4) && (xmlhttp.status == 200)) {
var m_sel=document.getElementById("fcat");
if (m_sel) {
var maxi = m_sel.options.length;
for( var i = 0; i < maxi; i++ )
{
var option = m_sel.options[i];
option.addEventListener( "click", toggleElem, true );
}
}
}