首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在不创建单独i的情况下在多个项目上使用一个函数?

问如何在不创建单独i的情况下在多个项目上使用一个函数?
EN

Stack Overflow用户
提问于 2019-12-24 03:51:04
回答 4查看 63关注 0票数 0

我有一个游戏,其中有气球,每个气球都有一个onclick属性,该属性将id传递给JS函数以更改css。

示例:

代码语言:javascript
复制
<div id="balloon" class="container" onclick="popBalloon(this.id);"></div>

单击此项目将调用下面的函数

代码语言:javascript
复制
function popBalloon(id){
    document.getElementById(id).setAttribute("class","pop");
}

问题是我有多个相同类型的气球,而不是为每个气球使用唯一的id,我想要一种方法来确定使用相同属性名单击的特定气球。

这可能吗?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2019-12-24 04:18:55

大多数当前的答案都建议使用一个函数来定义一组元素的点击侦听器,但是您问到如何在游戏中有太多元素的情况下省略唯一in。简单的答案是将OBJECT而不是ID传递给函数:

代码语言:javascript
复制
<div class="container" onclick="popBalloon(this);"></div>

在函数中:

代码语言:javascript
复制
function popBalloon(myobj){
    myobj.setAttribute("class","pop");
}

这就是全部。

票数 2
EN

Stack Overflow用户

发布于 2019-12-24 04:07:09

如果将event作为函数参数传递,则可以使用event.target获取单击的元素

​

代码语言:javascript
复制
function popBalloon (event) {
    event.target.setAttribute("class", "pop");
}
代码语言:javascript
复制
div {  
  margin-top: 10px;
  height: 30px;
  width: 30px;
  border: 1px solid;
  border-radius: 50%;
}

.container {
  background-color: red;
}

.pop {
  background-color: blue;
}
代码语言:javascript
复制
<div class="container" onclick="popBalloon(event);"></div>
<div class="container" onclick="popBalloon(event);"></div>
<div class="container" onclick="popBalloon(event);"></div>
<div class="container" onclick="popBalloon(event);"></div>
<div class="container" onclick="popBalloon(event);"></div>

​

票数 4
EN

Stack Overflow用户

发布于 2019-12-24 04:11:27

一个很好的方法是给所有的气球添加一些类。让我们稍微修改一下代码

代码语言:javascript
复制
<div  class="balloon"></div>
<div  class="balloon"></div>
<div  class="balloon"></div>

我这里有3个这样的div和一类气球。对于我们能做的js

代码语言:javascript
复制
Array.from(document.querySelectorAll(".balloon")).forEach(balloon=>{
balloon.addEventListener('click',()=>{
//On click event here
});
});

下面是如何向每个气球添加单击事件。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59460640

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档