猿问

通过JS创建图片后如何判断图片是否被点击?

单击按钮后,我在 js 中创建了一个图像。渲染后单击图像时如何对图像执行操作?这是我尝试过的代码:


function sayhi(){


    for (var m = 0; m <animals.length;m++){

        var image = document.createElement('img');

        image.src = "animalgameback.jpg";

        image.id = animals[m];

        document.getElementById('body').appendChild(image); 

        image.onclick = flip(this);


    }

}

但是,当我设置 onclick 图像属性时,它仅在渲染图像之前执行任务。有什么建议么?


慕勒3428872
浏览 149回答 4
4回答

暮色呼如

你必须改变线路:image.onclick&nbsp;=&nbsp;flip(this);对此:image.addEventListener("click",function&nbsp;flip(this){&nbsp;},&nbsp;this);

万千封印

image.addEventListener("click", function(event) {&nbsp; flip(this)&nbsp;}, false)this如果您想访问函数的作用域,请记住不要使用箭头函数。

呼唤远方

事件处理程序必须是一个函数,因此 :::改变这个image.onclick&nbsp;=&nbsp;flip(this);对此image.onclick&nbsp;=&nbsp;function(){flip(image);}

温温酱

您没有将此处的函数 Flip 绑定到“click”事件,而是将结果或调用标识为 Flip 的函数的返回值绑定到该事件。添加到调用中的 this 值可能是 window.image.onclick = flip;以及如下所示的函数:function flip (event) {&nbsp; var&nbsp; &nbsp; eImage = event.target;&nbsp; ...&nbsp; ...}可能是一个快速的解决方案。
随时随地看视频慕课网APP

相关分类

Html5
我要回答