2

私はtwitterのブートストラップ、ノックアウト、ノックアウトソート可能、およびJQuery UIを使用しています(これもhamlですが、質問には重要ではありません)。以下のようなタブ付きリストを表示します。内部にボタンがある最後のタブを追加します。

%ul.nav.nav-tabs
  /ko foreach: pages
  %li
    %span{ "data-bind" => "text: name()" }
  / /ko
  %li
    %button.btn
      %i.icon-plus

タブを(ドラッグして)ソート可能にしようとしていますが、ボタンで問題が発生しています:

%ul.nav.nav-tabs{ "data-bind" => "sortable: pages" }
  %li
    %span{ "data-bind" => "text: name()" }
  /%li
  /  %button.btn
  /    %i.icon-plus

動かないので使え/ko sortable: pagesません( The binding 'sortable' cannot be used with virtual elements)。sortable で同じ効果 (最後のタブがボタン) を実現するにはどうすればよいですか? ただし、最後のタブ/ボタンを移動することはできません。

答えは、タブを追加する必要はなく、タブの最後に表示される要素を追加することである可能性があります。

アップデート:

JSFiddle: http://jsfiddle.net/pbNvz/6/

4

1 に答える 1

1

カスタムバインディングはあなたのために仕事をすることができます、ここに更新されたフィドルがあります:

http://jsbin.com/edopuh/3/edit

特定の li 要素を sortable 要素から除外するには、jquery ui sortable プラグインのitemsオプションを使用できます。jquery セレクターを受け入れます。

アップデート

アイテムを移動した後に何かを行うには、jquery ui sortable のUpdate イベントを使用できます。この更新されたフィドルを確認してください。アイテムを移動した後、このフィドルでアラートが表示されます:

更新されたフィドル

于 2013-04-02T03:20:55.927 に答える