teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

コメントを追加

2018/04/10 09:25

投稿

defghi1977
defghi1977

スコア4756

answer CHANGED
@@ -2,4 +2,17 @@
2
2
  [https://developer.mozilla.org/ja/docs/Web/API/HTML_Drag_and_Drop_API](https://developer.mozilla.org/ja/docs/Web/API/HTML_Drag_and_Drop_API)
3
3
 
4
4
  ・・・が, UIスクリプトの中でも**最強クラスに制御が難しい**部類に入るため, 心してかかって下さい.
5
- ※例外系の処理が異常に多い上, それらの一つ一つが致命的な問題を引き起こすため(経験上)
5
+ ※例外系の処理が異常に多い上, それらの一つ一つが致命的な問題を引き起こすため(経験上)
6
+
7
+ ---
8
+
9
+ そのため, このAPIを使わないように**ドラッグ・ドロップ操作を真似る**と良いかもしれません.
10
+
11
+ - dragXX系のイベントは全て`e.preventDefault`で**ブラウザの動き(標準動作)を無効化**する
12
+ - `mousedown`イベントと`mouseup`イベントが発生した座標を元に,カーソル直下のノードを`document.elementFromPoint`メソッドで取得し, その対応からデータの授受を行う.
13
+
14
+ ようにすれば, 何とかなるかもしれません.
15
+
16
+ [https://developer.mozilla.org/ja/docs/Web/API/Document/elementFromPoint](https://developer.mozilla.org/ja/docs/Web/API/Document/elementFromPoint)
17
+
18
+ とは言え, 既に導入しているプラグインとの兼ね合いもありますから, 本当にうまく行くかどうかは慎重に検証する必要があります.