1

比較チャートのようなテーブルを実装しようとしていますが、選択可能なオブジェクトの大規模なリストは、必要ないくつかの機能変更を除いて、完全に機能します。これらは両方とも前の質問で対処されているようですが、どちらも完全な解決策を提供していません。

この質問は、デフォルトで複数選択の動作に対処しましたが、何も提供せずに「自分でやった」とだけ言っています。selectableの内部を見ると、!event.metaKey条件で遊んでいれば、探している動作をそれほど問題なく取得できる可能性がありますが、編集を伴わない解決策があるかどうか疑問に思っていました。内部。

同様に、このページでは、私が望んでいたなげなわトグル効果について説明していますが、コードのどこでなげなわ機能が変更されたかはわかりません。スクリプトの残りの部分(並べ替え可能な機能)は、chromeまたはIE8では機能しないと報告されています(リンク)そしてこの時点で時代遅れです、私はむしろ全部に頼りたくありません。

ですから、誰かがこれらのいずれかで私を手伝ってくれるなら、私はそれをいただければ幸いです。ありがとう

[編集]フォーマット...

4

1 に答える 1

2

これを行うためのより良い方法があると確信していますが、これが選択可能なjsファイル内で行ったことです。

常に複数選択の場合:

オプション'alwaysMulti'(デフォルトはfalse)を追加しました。!event.metaKey次に、withの3つのインスタンスとwith(!event.metaKey && !options.alwaysMulti)の2つのインスタンスを置き換えましevent.metaKey(event.metaKey || options.alwaysMulti)

選択した投げ縄で選択したステータスを切り替えるには、リンクした2番目のページから必要な変更を見つけました。この機能をトリガーするオプション「lassoToggle」(デフォルトはfalse)も追加しました。_mouseDrag内に条件がありif (hit)、次のように変更されます。

    if (hit) {
                // SELECT
                selectee.deselect = false;
                if (selectee.selected || (options.lassoToggle && (selectee.startselected && event.metaKey)) {
                    selectee.$element.removeClass('ui-selected');
                    selectee.selected = false;
                    selectee.deselect = true;
                }
                if (selectee.unselecting) {
                    selectee.$element.removeClass('ui-unselecting');
                    selectee.unselecting = false;
                }
                if (!selectee.selecting && (!options.lassoToggle || !selectee.deselect) {
                    selectee.$element.addClass('ui-selecting');
                    selectee.selecting = true;
                    // selectable SELECTING callback
                    self._trigger("selecting", event, {
                        selecting: selectee.element
                    });
                }
                if(selectee.deselect && options.lassoToggle) {
                    selectee.$element.removeClass('ui-selecting');
                    selectee.selecting = false;
                    selectee.$element.addClass('ui-unselecting');
                    selectee.unselecting = true;
                    // selectable UNSELECTING callback
                    self._trigger("unselecting", event, {
                        unselecting: selectee.element
                    });
                }
            }

注:複数選択のevent.metaKeyの変更は、そのコードサンプルには含まれていません。

うまくいけば、これは他の誰かを助けるでしょう!

于 2011-02-07T16:44:26.243 に答える