Bitte beachten Sie, den kleinen folgenden Code:Wrapped klickbare DivElement: Ereignis wird nicht zugehört
function Movable(x, y, width, height, background_color) {
this.html_element = document.createElement("div");
this.html_element.onclick = this.move;
this.move = function() {
alert("Clicked !");
};
this.display = function() {
document.body.innerHTML += this.html_element.outerHTML;
};
}
Ich versuche, das HTML-Attribut "Onclick" mit hinzuzufügen "move();" als Wert. Dieser move
Wert ist tatsächlich eine Funktion, die "Clicked!" wenn der Endbenutzer auf dieses HTML-Element klickt.
Aber es funktioniert nicht. Wenn ich die Quelle überprüfe, scheint es, dass die Eigenschaft onclick
diesem HTML-Element nicht hinzugefügt wird.
Wissen Sie, warum und wie ich dieses Problem lösen könnte?
Vielen Dank! Weißt du, warum ich nicht auf die Eigenschaft 'style' innerhalb der Funktion' move' zugreifen kann? =/ –
@ Lern-X: 'this.style' sollte Dir diese Eigenschaft geben, also wird' this.style.display = "none" 'zum Beispiel das Element verstecken. –
Oh, du meinst * deine * Anzeigefunktion. Das liegt daran, dass der Wert von "this" das Element und nicht Ihr Objekt ist. Dies ist ein häufiges Problem, und Sie werden viele verschiedene Lösungen finden, wenn Sie suchen. Ein Ansatz, den ich mag, ist die Verwendung der 'EventListener'-Schnittstelle. Aber es gibt auch andere Ansätze. –