Ich habe einen JavaScript-Code, der eine zufällige 5 Bilder erstellt, weist es zu einem Div-Knoten und klont später diesen Knoten und füllt einen anderen Div-Knoten.Wo kann ein Event-Handler in Javascript hinzugefügt werden?
var numberOffaces = 5;
var theLeftSide = document.getElementById("leftSide");
var theRightSide = document.getElementById("rightSide");
var theBody = document.getElementsByTagName("body")[0];
function generateFaces() {
for (var i = 0; i < numberOffaces; i++) {
var imgNode = document.createElement("IMG");
imgNode.src = "http://home.cse.ust.hk/~rossiter/mooc/matching_game/smile.png";
imgNode.style.top = Math.floor(Math.random() * 400) + "px";
imgNode.style.left = Math.floor(Math.random() * 400) + "px";
theLeftSide.appendChild(imgNode);
}
var leftSideImages = theLeftSide.cloneNode(true);
leftSideImages.removeChild(leftSideImages.lastChild);
theRightSide.appendChild(leftSideImages);
}
//add event handler
theLeftSide.lastChild.onclick =
function nextLevel(event) {
event.stopPropagation();
numberOfFaces += 5;
generateFaces();
};
Wenn ich diesen Code ausführen bekomme ich Onclick = null, und der Code nicht wie erwartet, ich bin neu zu Javascript und weiß nicht, wo meine Event-Handler zu setzen. Was ich tun muss, ist, wenn ich auf den letzten Kind-Knoten der div klicke ich das Onclick-Ereignis auslösen.
Sie delegiert nutzen könnten Ereignisse, Delegaten '# leftSide' und überprüfen, ob das Ziel eine Klasse hat, und ist das letzte Kind usw. – adeneo
@adeneo, OP beschäftigt sich mit' VanillaJS' – Rayon
@RayonDabre - Spielt es eine Rolle Ereignisdelegierung ist nichts, was jQuery aus dem Nichts erzeugt. – adeneo