0

d3とsvgを使用して、並べ替え可能な要素のグループにドラッグアンドドロップ機能を実装しようとしています。基本的に、ドラッグ後、すべての要素の位置は、ドラッグされた要素がドロップされた場所に従って計算された新しい位置で更新されます。必要なことを達成するためにdragend、d3が提供するコールバックを利用しています。

ここでシナリオの簡略版を準備しました。

http://jsfiddle.net/G52rB/4/

ご覧のとおり、ドラッグ可能な各要素にはsvgハイパーリンクが含まれています。リンクはChromeとSafariで機能しますが、FFではクリックできません。

これまでの私のグーグルから、問題はクリックイベントのマウスアップ部分の伝播に起因しているようです。これはFFでは適切にバブルしないと思います。d3バージョン2.7.4を使用しています。

最新バージョンのd3で同じコードを試しましたが、問題はそこでも解決しません。

4

1 に答える 1

0

これは、ハックを使用した回避策ほどの解決策ではありません。

ドロップした要素が実際に移動されているか、ブラウザがFirefoxかどうかを基本的にチェックしています。両方の条件が真で、クリック ターゲットがリンクの場合、リンクの URL にリダイレクトします。

以下は、回避策と最新バージョンの d3 を使用した更新された JSFiddle バージョンです。

http://jsfiddle.net/G52rB/8/

于 2012-05-06T19:21:23.477 に答える