单击按钮后,我在 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 图像属性时,它仅在渲染图像之前执行任务。有什么建议么?
4 回答
暮色呼如
TA贡献1853条经验 获得超9个赞
你必须改变线路:
image.onclick = flip(this);
对此:
image.addEventListener("click",function flip(this){ }, this);
万千封印
TA贡献1891条经验 获得超3个赞
image.addEventListener("click", function(event) {
flip(this)
}, false)
this如果您想访问函数的作用域,请记住不要使用箭头函数。
呼唤远方
TA贡献1856条经验 获得超11个赞
事件处理程序必须是一个函数,因此 :::
改变这个
image.onclick = flip(this);
对此
image.onclick = function(){flip(image);}
温温酱
TA贡献1752条经验 获得超4个赞
您没有将此处的函数 Flip 绑定到“click”事件,而是将结果或调用标识为 Flip 的函数的返回值绑定到该事件。添加到调用中的 this 值可能是 window.
image.onclick = flip;
以及如下所示的函数:
function flip (event) {
var
eImage = event.target;
...
...
}
可能是一个快速的解决方案。
- 4 回答
- 0 关注
- 148 浏览
添加回答
举报
0/150
提交
取消