Adobe Photoshop や Illustrator などの一般的なソフトウェアのフローティング パネル機能に似た機能を備えた Web アプリを構築しています。そのために HTML5 Drag & Drop API を使用しています。
まず、ドラッグしているパネルを更新するために、これらの線に沿って何かをしています
el.style.left = (x - offsetX) + 'px';
el.style.top = (y - offsetY) + 'px';
さて、これはすべてうまくいきます!しかし、問題は、次のように、別のブロック要素でドラッグオーバーイベントをキャッチしたいことです。
dropzone.addEventListener('dragover', function() { ... }, false);
問題は、ドラッグ要素の位置を更新する限り、イベントが発生しないことです。しかし、ドラッグ要素の再配置をコメントアウトすると、次のようにイベントが発生します
// Commenting out the repositioning...
// el.style.left = (x - offsetX) + 'px';
// el.style.top = (y - offsetY) + 'px';
さて、私には、ドラッグしている要素がイベントの発火の邪魔になっているように感じます。
ブロック要素をドラッグし続けながら、 dragoverイベントも発生させるにはどうすればよいですか?
JSFiddleをチェックしてください。
Chrome 36.0.1985.125 での作業
ありがとう!