2

VML に問題があります (svg のフォールバックとして使用しています)

jQuery UI ドラッグ可能を使用して、ユーザーが要素を移動できるようにします。高さと幅のスタイル属性を変更して画像 (av:image) のサイズを変更すると、問題が発生します。

この時点で、要素がコンテナの左上隅で動かなくなり、ドラッグできなくなります。

奇妙なことは、JavaScript コンソールでドラッグ可能な要素の位置 (上、左) を要求すると、値が取得され、要素が視覚的に動いていないにもかかわらず、クリックしてドラッグするとそれらの値が変化することです.. .

以前にこの問題に遭遇した人はいますか?

ここで、要素のサイズを変更します。

$($image)
    .css({
        'width' : zoomInPx_width + "px",
        'height' : zoomInPx_height + "px"
    });

ドラッグ可能なものはかなり簡単に設定されています

$($image).draggable({
    drag: function () { /*callback here*/ }
})
4

2 に答える 2

3

最後に、私はなんとかこの仕事をすることができます。

ドラッグ可能な要素のサイズを変更すると、IE8でVMLがクラッシュするようです。そのため、スライドが発生したときに要素を破棄して最初から再作成する必要がありました...

それは実際にはパフォーマンスが良くありませんが、ここで私のために働く唯一の修正です。

ちなみに、.detach()は機能しませんでした。破棄して、最初から再作成する必要があります。

そこにもいくつかの情報を得ることができます:http ://www.acumen-corp.com/Blog/tabid/298/EntryId/26/Using-jqueryRotate-ui-draggable-and-resizable-images-in-IE7-IE8-および-any-other-browser.aspx

于 2012-02-24T15:08:34.873 に答える
2

私のアプリケーションでは、次のコードを使用しました。

var $cloned_image = $($image).clone().get(0);
$($image).remove();

// need add draggable again
$($cloned_image).draggable();

document.getElementById('k').appendChild($cloned_image);
$image = $cloned_image;
于 2012-11-16T15:57:42.673 に答える