私はランダムな5つのイメージを作成し、それをdivノードに割り当て、後でそのノードをクローンし、別のdivノードを作成するjavascriptコードを持っています。javascriptでイベントハンドラを追加する場所はどこですか?
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();
};
私は=ヌルonclickの取得、そして期待通りのコードが動作しないこのコードを実行すると、私はJavaScriptに新たなんだ、どこで私のイベントハンドラを置くことを知りません。 私がする必要があるのは、divの最後の子ノードをクリックするたびに、私はonclickイベントをトリガーします。
あなたがターゲットクラスを持っている、と – adeneo
@adeneoなど最後の子である場合、OPは 'VanillaJS' – Rayon
@RayonDabreを扱っている'#leftSide'に委任イベント、デリゲートを使用してチェックすることができますが - 問題それをしませんイベントの委任は、何も作成されていないjQueryではありません。 – adeneo