微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

JQuery手风琴 – 取消绑定点击事件

我正在使用 JQueryaccordion module编写表单向导.问题是我想覆盖手风琴菜单上的任何鼠标点击,以便在手风琴将显示下一部分之前首先验证表单.

我尝试过以下方法

$('#accordion h3').unbind();

$('#accordion h3').click(function() {
  if (validate())
  {
    $("#accordion").accordion('activate',2);
  }else
  {
    alert("invalid form");
  }
}

但上面的代码不起作用.无论表格是否有效,手风琴的内置点击事件仍会被调用,手风琴会显示下一部分.

我也尝试了以下代码

$('#accordion h3').click(function(event) {
   if (validate())
   {
     $("#accordion").accordion('activate',2);
   }else
   {
     alert("invalid form");
   }        
   event.stopPropagation();
});

但是stopPropagation()调用似乎根本不会影响手风琴行为,无论表单是否有效,都会显示下一部分.

知道我可能做错了什么吗?

谢谢!

解决方法

好吧,从编码这个功能中休息了一下,并用一双新鲜的眼睛回到了它.这是解决方案:
$("#accordion").accordion({event: false});

为手风琴初始化代码添加event:false将阻止鼠标点击手风琴菜单执行认操作,然后我可以编写自定义点击处理代码,以便在用户点击菜单时运行validate()函数,从根本上覆盖手风琴的内置-in如果表单未通过验证检查,则单击功能.

顺便说一下,我在这里使用JQuery UI的手风琴模块.

适用于ie7,8,chrome 19,ff 3.0.3

原文地址:https://www.jb51.cc/jquery/178596.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐