Jquery ui .sortable()启用 - 禁用

时间:2014-04-14 13:48:52

标签: jquery jquery-ui

首先,让我解释一下我的页面结构,这样你就可以了解它是如何工作的。我有一些quick-button块。 它们可以通过Jquery ui .sortable()方法进行排序,但只能在按下settings按钮(允许快捷按钮可排序)之后进行排序。之后,可以保存或取消此按钮的顺序。 因此,我需要查看由click事件引发的3个条件。 问题是,第一次一切正常,但第二次当我试图按下按钮settings - sortable()方法不再有效。

你可以在下面看到我的JS:

    $('#tune-hot-links').click(function () { //Click "settings" button  
            $(".sect-hot-links-inner").sortable();
            $(".sect-hot-links-inner").disableSelection();      
    });
    $('.button-editgroup button.button-save').click(function () {   //Click "save" button       
            $(".sect-hot-links-inner").sortable('disabled');
            $(".sect-hot-links-inner").enableSelection();               
    });
    $('.button-editgroup button.button-cancel').click(function () { //Click "cancel" button 
            $(".sect-hot-links-inner").sortable('cancel');
            $(".sect-hot-links-inner").sortable('disabled');
            $(".sect-hot-links-inner").enableSelection();   
    });

我已尝试在.sortable()事件中将.sortable('enable')更改为#tune-hot-links。它不起作用。

1 个答案:

答案 0 :(得分:4)

好吧,我不知道为什么,但似乎改变了这样的代码:

$('#tune-hot-links').on( "click", function() {      
            $(".sect-hot-links-inner").sortable("enable");          
    });
    $('.button-editgroup button.button-save').on( "click", function() {         
            $(".sect-hot-links-inner").sortable("disable");
    });

    $('.button-editgroup button.button-cancel').on( "click", function() {   
            $(".sect-hot-links-inner").sortable('cancel');
            $(".sect-hot-links-inner").sortable("disable");
            $(".sect-hot-links-inner").enableSelection();   
    }); 

解决了这个问题。