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

回答編集履歴

1

コメントへの返答を追記

2021/01/08 08:09

投稿

AT_2nd
AT_2nd

スコア266

answer CHANGED
@@ -1,1 +1,28 @@
1
- documentにドラッグドロップ関連のイベントリスナを登録しなければよろしいのではないでしょうか。
1
+ documentにドラッグドロップ関連のイベントリスナを登録しなければよろしいのではないでしょうか。
2
+
3
+ ※追記
4
+ この部分が余計です。
5
+
6
+ ```Javascript
7
+ $(document).on('dragenter', function (e)
8
+ {
9
+ e.stopPropagation();
10
+ e.preventDefault();
11
+ console.log("dragenter");
12
+ });
13
+ $(document).on('dragover', function (e)
14
+ {
15
+ e.stopPropagation();
16
+ e.preventDefault();
17
+ console.log("dragover");
18
+ });
19
+ $(document).on('drop', function (e)
20
+ {
21
+ e.stopPropagation();
22
+ e.preventDefault();
23
+ console.log("drop");
24
+ });
25
+ ```
26
+ 参照されているサイトでは、$(".dragdrop")以外の部分にドラッグドロップがあった場合にドロップされたファイルを開くという動作を防ぐためにこの記述が入っています。
27
+ もしかしたら、$(".dragdrop")も$(document)も、どちらも「何もしない」という動作をしているために、ページ全体がドロップ受付をしていると誤認されているのではないでしょうか。
28
+ $(".dragdrop")と$(document)を明確に区別するために、それぞれ別の動作をさせて確認してみてはいかかでしょうか。