切换(单击)并绑定事件(在文档上)

时间:2010-02-25 17:05:30

标签: javascript jquery events click

我有一个按钮<a>,可以切换下拉列表 然后,它还应该将单击事件绑定(一次)到文档,单击它时应该将其向上滑动。

我从这个HTML和JS开始...... 有任何建议如何使这项工作?

HTML

      <a class="a" href="#">continue shopping</a>
      <div class="b">
        <a href="#">continue 1</a>
        <a href="#">continue 2</a>
        <a href="#">continue 3</a>
        <a href="#">continue 4</a>
      </div>

JS

 $(".a").toggle(function(event){
   buttonEvent = $(event.target)
    $(this).addClass("open").next(".a").slideDown(500);

    $(document).one("click",function(e){
    if(!$(e.target).is(".a") && !buttonEvent.hasClass("b")){
        $(".b").slideUp(500)
     }  
  })

 },
 function(){
  $(this).removeClass("open").next(".continueShopCntnr").slideUp(500)
});

但它仍然是马车..再次点击继续购物它什么都不做

1 个答案:

答案 0 :(得分:1)

也许这会更好用......它会关闭文档点击中的任何打开的。

编辑:实际上测试了这段代码(与之前的答案相比),并且我理解了这些要求。

$(".continueShop").toggle(
    function(){
      $(this).removeClass("open").next(".continueShopCntnr").slideUp(500)
    },
    function(){
        $(this).addClass("open").next(".continueShopCntnr").slideDown(500);

        $(document).one("click",function() {
           $(".continueShop.open").each(function() { 
               $(this).click();
           });
         });
     }
);