2014-04-14 150 views
3

首先,讓我解釋一下我的頁面結構,這樣你就可以明白它是如何工作的。我有一些quick-button塊。 他們可以通過jquery ui .sortable()方法進行排序,但只能在按下settings按鈕後(它允許快速按鈕排序)。稍後,這些按鈕的順序可以保存或可以取消。 所以我需要看看click事件激發的3個條件。 問題是,第一次一切正常,但第二次當我試圖按下按鈕settings - sortable()方法不再工作。Jquery ui .sortable()enable-disable

下面你可以看到我的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')。它不工作。

+0

你可以發表小提琴 –

回答

3

好了,我不知道爲什麼,但目前看來,這樣的更改代碼:

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

解決這個問題。