Ich habe Probleme mit dem Internet Explorer. Ich habe einen Link, der ein Datei-Upload-Element in einem Formular dupliziert. Der Code, der dupliziert, hängt auch einen Hyperlink an das duplizierte Upload-Element an, das das duplizierte Element entfernen soll, um diesen Link einfach zu entfernen.IE nicht zulassen onClick-Ereignis auf dynamisch erstellten DOM 'a' Element
Das Problem ist, dass dieser Code in Firefox läuft, aber es läuft überhaupt nicht in IE. Vergessen Sie, wie der Code ausgeschrieben ist - das Ereignis onClick, das ich an das Element anschließe, wird überhaupt nicht ausgelöst!
ich meinen Link Entfernen Element wie folgt in der Funktion zu erstellen:
var a = document.createElement('a');
a.setAttribute('href', "javascript:void(0);");
a.setAttribute('class', 'delete');
a.setAttribute('onClick', 'removeThisElement(idOfParentContainer, this)');
container.appendChild(a);
Dies funktioniert in Firefox in Ordnung, aber es funktioniert nicht in IE ausgelöst. Ich überprüfte das Dom mit IE-Inspektor und der Link wurde nett gerendert, aber die Klasse, die daran angehängt wurde, wurde nicht gerendert oder angewendet und das Ereignis wurde auch nicht ausgelöst, obwohl es physisch an den Link im HTML angehängt wurde. Aus irgendeinem Grund feuert das onClick-Ereignis nicht einmal ab, egal welchen Code ich hineinlege, auch wenn es eine Warnung ist. Fehle ich hier etwas? :(
Groß bekam Teil eines des Problems gelöst durch die Ereignisse mit addEvent jedoch angebracht, warum nicht der CSS-Rendering ich die Klasse bedeuten das Element befestigt macht gar nicht aus irgendeinem seltsamen Grunde :(
Guter Rat in der Tat. - ich bin mein Code Umschreiben der setAttribute Funktion zu vermeiden und stattdessen alle diese DOM-Manipulation zu jquery Portierung Vielen Dank für die hilft Jungs
Whoa! Es bedeutet also, dass Firefox die ganze Zeit falsch liegt! Aber wie hänge ich eine Funktion an, der ich Parameter übergeben möchte - ich sehe hier jedoch kein solches Beispiel. – Ali
FF * kann * falsch sein, ich schaue immer noch darauf. Sie können Params effektiv mit einer Schließung übergeben: Pim veranschaulicht, wie das aussehen könnte, kann nicht sicher sein, ohne mehr von Ihrem Code zu sehen, aber google "Javascript Closure" für weitere Informationen. – annakata
Ich habe es mit den Parametern arbeiten lassen - aber würde immer noch gerne wissen, wie ich damit umgehen würde, sollte ich Parameter an die Funktion übergeben müssen, die dem Ereignis beigefügt ist. Auch ich kann nicht verstehen, warum die CSS und Stile nicht auf IE so darstellen, wie sie sollten. – Ali