Jquery UI .sortable() 启用禁用

4
首先,让我解释一下我的页面结构,这样你就能了解它是如何工作的。我有一些快速按钮块。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();   
    });

我已经尝试在#tune-hot-links事件中将.sortable()更改为.sortable('enable'),但它没有生效。


你能发布一个 Fiddle 吗? - neel shah
1个回答

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();   
    }); 

解决了那个问题。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接