我有一个包含搜索条件的手风琴页面。一旦有人点击搜索按钮,标准就会关闭(我模拟手风琴标题上的点击)。这很有效。
问题是当用户提供无效输入时,我的AJAX调用返回并且我尝试在手风琴完成关闭之前再次显示搜索条件(再次通过模拟点击手风琴标题)。这当然无法打开搜索条件。
一个简单的例子就是双击手风琴标题。如果手风琴在双击期间处于转换状态,则没有任何反应。
如何在我的情况下避免这种情况?注意:Chrome / FF中的问题似乎比在IE中更为严重,因为IE没有为手风琴打开/折叠设置动画。
代码中的基本思想,其中#section1代表手风琴标题:
$("#section1").click();
//some very fast AJAX.
$("#section1").click();
JS小提琴:http://jsfiddle.net/mikeyfreake/gGaJn/2/
谢谢, 麦克
答案 0 :(得分:2)
答案 1 :(得分:1)
在Ajax调用中使用async: false
参数。这将使Ajax调用在第二次单击之前完成执行。
http://api.jquery.com/jQuery.ajax/
或者您可以在success
功能中执行第二次点击:
$.ajax({
success: function (data) {
$("#section1").click();
},
...
});