javascript - 将元素设置为事件状态,将其他元素设置为非事件状态(动态)

标签 javascript jquery html

我有一个列表框

<div id="listboxid1" class="listboxFilters">
  <div class="listboxFilterItem"> <div style="padding-top:2px; float: left;">test2</div>     <div class="listboxChosenFilter">3</div>   </div>
  <div class="listboxFilterItem"> <div style="padding-top:2px; float: left;">test</div>     <div class="listboxChosenFilter">*</div>   </div>
  <div class="listboxFilterItem"> <div style="padding-top:2px; float: left;">gro</div>     <div class="listboxChosenFilter">2</div>   </div>
</div>

它是一个普通的列表框,现在的问题是,我怎样才能只将一个元素设置为事件,然后将其他元素设置为非事件

我的第一个猜测是对一个项目的onlick,我添加了一个名为active的类名,然后我对listboxox1元素进行foreach并将所有内容设置为inactive,但这真的是常见和最好的方法吗? :

 <script>

  function clearAll(element) {

    element.each(function () {
      var checkboxes = $(this).children("div");

      checkboxes.each(function () {
        var checkbox = $(this);
        checkbox.removeClass("active");
      });

    });

  }

  jQuery.fn.multiselecter = function () {
    $(this).each(function () {
      var checkboxes = $(this).children("div");
      checkboxes.each(function () {
        var checkbox = $(this);

        checkbox.click(function () {

          clearAll(checkbox.parent());
          checkbox.addClass("active");

        });

      });
    });
  };
  $("#listbox1").multiselecter();




</script>

最佳答案

我猜你正在使用 jQuery,所以试试这个功能:

单击任何具有 .listboxFilterItem 类的项目时,调用 setActive 函数

$('.listboxFilterItem').click(setActive($(this)));

function setActive(var elem){
    $('.listboxFilterItem').each(function(){
       $(this).removeClass('active'); 
    });
    elem.addClass('active');
}

关于javascript - 将元素设置为事件状态,将其他元素设置为非事件状态(动态),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32647821/

相关文章:

javascript - Materializecss 开关元素改变事件

html - Bootstrap 4 Fixed Bottom Nav with dropup。如何?

html - 使用 CSS 将文本颜色设置为红色背景上的白色和白色背景上的黑色文本颜色

javascript - url 只隐藏 url 中显示的域名

javascript - 两个流程调用Ajax方法,其中一个在最后需要额外处理

javascript - 无法理解 Array.map 回调中的上下文

javascript - 半正矢公式 - 结果过高

javascript - 如何使用相同的 ID 刷新多个 iframe

jquery显示某类 block onclick 其中类来自html5数据标签

javascript - 嵌套的 $(document).ready() 和 $(window).load() 事件之间的区别