2012-11-09 35 views
3

我正在使用knockout-js創建一個應用程序,並使用可拖放排序的可排序列表進行排序。有一個垂直列表,每個項目內部都有一個水平列表。垂直列表表現得很好,但每當我嘗試在水平列表中拖動一個項目時,它就會相對於被拖動的項目向上或向下推動列表中的其餘項目。水平列表定義如下:Knockout-Sortable水平列表拖動項目時垂直推動項目

<div style="float: left" data-bind="sortable: { template: 'levelTmpl', data: $data.levels, beforeMove: $root.verifyMove, afterAdd: showLevel, beforeRemove: hideLevel, options: { containment: 'parent' } }"></div> 
<script id="levelTmpl" type="text/html"> 
    <div class="container item" style="display: inline-block"> 
    <div style="float: right"><span class="ui-button" data-bind="click: $parent.removeLevel">[x]</span></div> 
    <input data-bind="value: name"/><br/> 
    <div style="clear: both"></div> 
    <textarea cols="35" rows="4" data-bind="value: description"> </textarea><br/> 
    <textarea cols="35" rows="4" data-bind="value: canned"> </textarea> 
    </div> 
</script> 

你可以在這裏查看完整的應用程序:
鏈接已不存在

我已經嘗試每一個建議,我發現,包括那些在http://bugs.jqueryui.com/ticket/6702,等等遠遠沒有任何工作。我真的想要水平排序列表工作,所以如果任何人有任何建議,我會非常感激。

+1

無法解決這個問題,所以我和Peter Flannery的解決方案一起去了http://www.ko-js.com/2012/05/part-3-sortable-list-in-knockout-js.html,它根本不使用Knockout-Sortable。我仍然想知道爲什麼這不起作用,所以任何評論都會很棒。 – jonhopkins

+0

你有JSFiddle重現了這個問題嗎? –

+0

不再。我會看看我是否可以找到舊版本的代碼來製作一個。 – jonhopkins

回答