【发布时间】:2010-12-20 03:40:29
【问题描述】:
我正在使用 JQuery 的 accordion 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() 调用似乎根本不会影响手风琴的行为,无论表单是否有效,都会显示下一部分。
知道我做错了什么吗?
【问题讨论】:
标签: jquery jquery-ui jquery-events jquery-ui-accordion