自前のドラッグアンドドロップを実装していて、Chrome や Safari では発火している mousemove イベントが Firefox では定常的に上がってこないという事象に悩まされました。
色々調べてみたところ下記の stackoverflow で同じような質問をしている人が。
You should call evt.preventDefault(); in all the mouseXXX handlers. Firefox has default drag/drop handling and you don't want that. It's not a bug in Firefox that it does that.
イベント処理はブラウザによって独自の処理に入ってしまうため、互換性も考えた上でpreventDefault()
や stopPropagation()
をきちんと意識して書かないといけないということを学びました。
ちなみに d3.js の場合は d3.event.sourceEvent.preventDefault()
を呼ぶことになります。