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!

War es hilfreich?

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 );

                            }                                 

                        }        
}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top