单击一个不属于“关闭”按钮的单独按钮即可触发关闭事件

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (6)

我有一个公告栏,其中心按钮链接到另一个站点。它最右边还有一个“关闭”按钮。当我单击中心按钮时,关闭按钮也会被触发。

我测试了一下是否是因为我#close通过将div 从div中删除来封装#bardiv,但它仍然导致相同的问题。

var closeBar = document.getElementById("close");
var bar = document.getElementById("bar");
if (closeBar) {
  addEventListener('click', function() {
    bar.classList.add('superHidden');
  })
}

#bar {
  position: fixed;
  width: 100vw;
  display: flex;
  height: 50px;
  bottom: 0px;
  left: 0px;
}

ul {
  display: flex;
  justify-content: center;
  height: 100%;
  list-style: none;
}

li {
  margin: auto 0;
  font-size: 22px;
}

#close {
  position: fixed;
  right: 20px;
  bottom: 0;
  z-index: 1000;
  height: 50px;
  width: 25px;
  cursor: pointer;
}

.superHidden {
  display: none!important;
}

<div id="bar">
  <ul>
    <li><a target="_blank" href="google.com"><button >Google</button></a></li>
  </ul>
  <div id="close">
    <ul>
      <li>X</li>
    </ul>
  </div>
</div>
提问于
用户回答回答于

您没有为事件侦听器指定目标,因此您要将click事件添加到整个窗口

addEventListener('click', function() {
    bar.classList.add('superHidden');
})

如果单击窗口中的任意位置,则会触发此事件。

听起来你想将事件添加到“关闭按钮”:

closeBar.addEventListener('click', function() {
    bar.classList.add('superHidden');
})

完整示例:

var closeBar = document.getElementById("close");
var bar = document.getElementById("bar");
if (closeBar) {
  closeBar.addEventListener('click', function() {
    bar.classList.add('superHidden');
  })
}

#bar {
  position: fixed;
  width: 100vw;
  display: flex;
  height: 50px;
  bottom: 0px;
  left: 0px;
}

ul {
  display: flex;
  justify-content: center;
  height: 100%;
  list-style: none;
}

li {
  margin: auto 0;
  font-size: 22px;
}

#close {
  position: fixed;
  right: 20px;
  bottom: 0;
  z-index: 1000;
  height: 50px;
  width: 25px;
  cursor: pointer;
}

.superHidden {
  display: none!important;
}

<div id="bar">
  <ul>
    <li><a target="_blank" href="google.com"><button >Google</button></a></li>
  </ul>
  <div id="close">
    <ul>
      <li>X</li>
    </ul>
  </div>
</div>

所属标签

可能回答问题的人

  • 天使的炫翼

    16 粉丝531 提问35 回答
  • 富有想象力的人

    2 粉丝0 提问26 回答
  • 旺仔小小鹿

    社区 · 运营 (已认证)

    48 粉丝0 提问26 回答
  • 发条丶魔灵1

    6 粉丝525 提问25 回答

扫码关注云+社区

领取腾讯云代金券