2012-12-16 29 views
3

我不能使用輸入字段用於在cancel之後輸入數據。sortable的方法被實施。jquery ui可排序:不能使用取消方法輸入輸入字段

$(function() { 
      $(".sortable").sortable({ 
       connectWith: ".connected-sortable", 
       cancel: ".not-sortable", 
       update: function(){ 

       // php update... 
       } 
      }); 
});​ 

所有輸入字段都沒有cancel做工精細,任何想法,我怎樣才能解決這個?或者,也許我在HTML代碼中犯了一些錯誤?

這裏是測試頁面 -

jsfiddle

回答

2

這真是奇怪,可能是有點痛。

我想出了一個解決方法,但它不是最乾淨的。

$('input').on('click', function(e) { 
    $(this).trigger({ 
     type: 'mousedown', 
     which: 3 
    }); 
}); 

$('input').on('mousedown', function(e) { 
    if(e.which == 3){ 
     $(this).focus(); 
    } 
}); 

基本上,在上面,我們檢測到點擊。事件仍然會觸發,所以我們觸發mousedown並聲明3中的哪一個是右鍵單擊,因爲出於某種原因右鍵單擊。然後,在我們觸發的mousedown中,我們檢測它是否是右鍵單擊,如果是,我們將集中元素。

+0

謝謝。我應該在哪裏放置這些線? – laukok

+0

@lauthiamkok在文檔就緒功能中的任何位置。 [這是工作jsFiddle](http://jsfiddle.net/VqB2u/1/) – Ohgodwhy

+0

得到它謝謝你。 – laukok

2

一個好的解決辦法是設置handle選項。需要您在LI內創建一個不在input之上的額外元素。此元素將作爲拖動手柄