标签导航:

如何用javascript限制单选评分元素,防止用户重复点击?

如何限制多个评分元素,在选择一个后阻止其他元素被点击

您想要实现的功能是,在一个包含多个评分元素(例如按钮或链接)的列表中,当点击一个元素时,其他元素将被禁用且无法再次点击。

要实现此功能,可以采用以下步骤:

    • 元素添加一个 id

    <ul id="ratings">
      <li><a href="#">1</a></li>
      <li><a href="#">2</a></li>
      <li><a href="#">3</a></li>
      <li><a href="#">4</a></li>
    </ul>
  1. 添加事件处理程序

      元素添加一个事件处理程序,以监听 click 事件。
      document.getElementById("ratings").addEventListener("click", function(event) {
        // 阻止默认行为
        event.preventDefault();
      
        // 遍历 li 元素
        for (let li of document.querySelectorAll("ul#ratings li")) {
          // 如果当前点击的 li 元素存在 on 类
          if (li.classList.contains("on")) {
            // 提示用户已经评价
            alert("你已经评价了!");
          } else {
            // 为当前点击的 li 元素添加 on 类
            li.classList.add("on");
          }
        }
      });

通过这种方法,当您点击某个评分元素时,on 类将被添加到该元素,从而阻止其他元素被点击。