相关疑难解决方法(0)

将事件侦听器添加到多个元素

我现在已经好几个小时了.

我想<select>在页面上为所有s 添加一个事件监听器,到目前为止我已经得到了这段代码:

onload = function(e) {
    sels = document.getElementsByTagName('select');
    for(i=0; i<sels.length; i++) {
        sels[i].addEventListener('change', alert('test!'), false);
    }
}
Run Code Online (Sandbox Code Playgroud)

这只会在加载页面时触发警报,而不是在我更改任何<select>s中的值时触发警报.

我可以在正确的方向上轻推吗?:-)

javascript addeventlistener

11
推荐指数
2
解决办法
4万
查看次数

如何将一个或多个变量附加到一个事件侦听器?

我在if语句中有一个事件侦听器,以使菜单滑入。

const burger = document.querySelector(".c-brgr");

if (!menuOpen) {
    burger.addEventListener('click', function () {
      if (!menuOpen) {
        nav.classList.add("menu-is-open");
        menuOpen = true;
      } else {
        nav.classList.remove("menu-is-open");
        menuOpen = false;
      }
   });
}
Run Code Online (Sandbox Code Playgroud)

单击HTML时,我还要在HTML中有一个div,以同时关闭菜单。我可以再做一个。

const closeArea = document.querySelector(".js-close-area");

if (!menuOpen) {
    closeArea.addEventListener('click', function () {
      if (!menuOpen) {
       // as above
      } else {
       // "
      }
   });
}
Run Code Online (Sandbox Code Playgroud)

这次,我使用其他元素代替汉堡。closeArea。但是,这将不必要地重复代码。

有没有一种方法可以只对两个都使用一个if语句addEventListeners

javascript

0
推荐指数
1
解决办法
44
查看次数

标签 统计

javascript ×2

addeventlistener ×1