javascript - jquery ui Accordion 禁用点击

标签 javascript jquery jquery-ui jquery-ui-accordion

我有一套这样的 Accordion

$(".accordion-form").accordion({
    collapsible:false,
    autoHeight: false,
    changestart: checkChanged,
    change: function(e, ui) {active = $( ".accordion-form" ).accordion( "option", "active");},
    active: 0
});

active 是一个静态变量,始终具有事件内容。

我想要做的是在事件标题之前启用标题以供点击,并在事件标题之后禁用标题以供点击。

这样我就可以让 Accordion 表现得像一个表格,“你可以后退,但在完成这一部分之前不能前进”。

如有任何帮助,我们将不胜感激

最佳答案

虽然我同意 Frédéric 的观点,即 Accordion 对于这种行为来说并不是一个很好的小部件,但您应该能够使用一些简单的 JS 来做到这一点。将另一个“onclick”处理程序附加到 Accordion header ,并让它在 header 距离太远时终止该事件:

$('.accordion-form .ui-accordion-header').click(function(e) {
    if($(this).index() > current_section.index())
    {
        e.stopImmediatePropagation();
    }
});

这需要您有一个 current_section 变量来保存最后一个已完成的部分(我假设您已经有类似的内容),并确保此处理程序在JqueryUI Accordion 设置,因此您的处理程序首先被调用。

希望这有帮助!

关于javascript - jquery ui Accordion 禁用点击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6801638/

相关文章:

javascript - 如何在 Backbone 模型中设置属性

javascript - 如何使用 keyup 事件创建复杂的公式

php - 与 Apache/PHP/Javascript 的长期连接(异步服务器推送)?

javascript - 在模态弹出窗口内交换时无法定位元素

jquery - 在 jquery mobile 弹出窗口中动态创建 jquery mobile ListView

javascript - 模式窗口上的 Php 表单 ajax “success & fail” 消息

javascript - CSS Transitions 与 JS 动画包的性能

javascript - Jquery UI sortable 对 child 没有 e.target

javascript - 为多个div设置随机背景颜色

css - 使用 grails 2.2.0 和资源插件找不到自定义 jquery css 图像