位置に関する不快なMozilla Firefox 3グリッチ:修正済み

サイトにドラッグアンドドロップメカニズムを実装すると、奇妙な不具合が発生しました。 ドロップするときにマウスイベントがうまくいかない場合がありました。 同時に、グリッチは一定ではなく、デバッグが困難でした。



状況を徹底的に分析した後、パターンを特定することができました:マウスボタンを押したままにすると、この状態で、CSSで修正された位置にあるレイヤーにマウスを移動します-このレイヤー上のマウスイベントはまったく処理されません。 状況は私にとって非常に奇妙に思えた。 もう一度すべてを慎重にチェックして、Mozillaにバグレポートを作成しました( https://bugzilla.mozilla.org/show_bug.cgi?id=449579 )。 このグリッチのテストケースもあります。 グリッチは確認されましたが、まだ修正されていません。



この状況では、位置を持つ領域にドロップすることはできません:倒錯に頼らずに修正されました。



私自身は、次のソリューションを適用しました。

  1. ドラッグの開始時に、ページ上の座標とスクロールバーの位置を考慮して、position:fixed to position:absoluteのすべてのレイヤーを設定します。
  2. ドロップを実行
  3. 戻り位置:固定


この間、スクロールバーの位置を監視する必要があります。スクロールバーが変更されている場合は、 ユーザーはマウスホイールを回したり、別の方法でページをスクロールしたりできます。 残念ながら、同時にちらつきがありますが、これまでのところこれを取り除くことはできませんでした。 しかし、幸いなことに、このような状況は非常にまれです。



All Articles