取消绑定多个类,除了一个

时间:2018-03-15 18:51:30

标签: jquery

我有" n"不同的clasess

 .classOne
 .classTwo
 .classThree
 .classFour
   ....
 .classN

我想绑定.classTwo&取消除.ClassOne以外的其余部分,我该怎么做?

   $("#container").off("click"); /*except classOne*/
  $("#container").on("click.ClassTwo",function...

HTML

     <DIV class="classOne">[Show alert]</div>
     <DIV class="classTwo">[Click dont show anything]</div>
     <DIV class="classThree">[Show alert]</div>
     <DIV class="classFour">[Show alert]</div>
     <DIV class="classFive">[Show alert]</div>

点击此按钮后,点击事件将停用除classOne以外的所有人...(如果您点击它仍然提供警报),同时.classTwo获得显示的能力点击

后发出提醒
         <DIV class="button">[]</div>

所以,最后的安排是:

     <DIV class="classOne">[Show alert]</div>
     <DIV class="classTwo">[Show alert]</div>
     <DIV class="classThree">[Click dont show anything]</div>
     <DIV class="classFour">[Click dont show anything]</div>
     <DIV class="classFive">[Click dont show anything]</div>....

2 个答案:

答案 0 :(得分:2)

如果我理解你在说什么,他们已经有一个绑定到它们的功能,然后当你点击按钮时你要取消绑定所有然后重新绑定除.classTwo之外你可以这样做:< / p>

$('.button').on('click', function() {
    $('div').off('click');
    $('div').not('.classTwo').on('click', function() {
        // show alert
    })
})

答案 1 :(得分:1)

将您的类添加到数组中以便更容易管理,然后加入该数组&amp;用作jQuery选择器。

Type here: <input id="myField" type="text" />

进一步阅读:How do I remove a particular element from an array in JavaScript?