0

ここで問題を確認できます: http://jsfiddle.net/qQ6ws/36/

シフトを使用して、ドラッグ可能なアイテムの「開始」コールバックによって呼び出されるクローン関数を切り替えています。

最初にコンテンツ フレーム (右下) を左クリックしてから文字キーを押さない限り、イベント ハンドラーがアクティブにならないという問題がありました。(Lclick + D キー) たとえば。

イベント ハンドラーがアクティブになったら、テスト ボックスを Shift キーを押しながらクリックしてドラッグし、クローンを作成します。これはFirefoxでうまく機能します。

ただし、Internet Explorer 9 と 10 の両方に問題があります。テスト ボックスは、ドキュメントに追加されるたびにオフセットされ続け、全体が台無しになります。

いろいろ試してみましたが、これを修正する方法がわかりません。どんな助けでも大歓迎です。

4

1 に答える 1

1

大幅に単純化すると、次のようになります。

var dragOptopns = {
    start: function(e, ui) {
        if (e.shiftKey) {
            $(this).clone().prependTo('body').draggable(dragOptopns);
        }
    }
};

$(".myClass").draggable(dragOptopns);

click-dragドラッグするかshift-click-drag、クローンを置き去りにします。

フィドルのフォークを見る

Opera 11.62 および IE9 で正常に動作します。

于 2012-05-05T23:21:31.363 に答える