Browse Source

Only add drag-drop handlers to dropzone, not the entire document

This enables dragging text into the textbox.
pull/64/head
discomrade 2 years ago
parent
commit
f62d9c6a96
  1. 24
      js/file-selector.js

24
js/file-selector.js

@ -86,27 +86,28 @@ $(document).on('ajax_after_post', function () {
}); });
var dragCounter = 0; var dragCounter = 0;
var dropHandlers = {
dragenter: function (e) { // attach handlers
$(document).on('dragenter', '.dropzone', function (e) {
e.stopPropagation(); e.stopPropagation();
e.preventDefault(); e.preventDefault();
if (dragCounter === 0) $('.dropzone').addClass('dragover'); if (dragCounter === 0) $('.dropzone').addClass('dragover');
dragCounter++; dragCounter++;
}, });
dragover: function (e) { $(document).on('dragover', '.dropzone', function (e) {
// needed for webkit to work // needed for webkit to work
e.stopPropagation(); e.stopPropagation();
e.preventDefault(); e.preventDefault();
}, });
dragleave: function (e) { $(document).on('dragleave', '.dropzone', function (e) {
e.stopPropagation(); e.stopPropagation();
e.preventDefault(); e.preventDefault();
dragCounter--; dragCounter--;
if (dragCounter === 0) $('.dropzone').removeClass('dragover'); if (dragCounter === 0) $('.dropzone').removeClass('dragover');
}, });
drop: function (e) { $(document).on('drop', '.dropzone', function (e) {
e.stopPropagation(); e.stopPropagation();
e.preventDefault(); e.preventDefault();
@ -117,12 +118,7 @@ var dropHandlers = {
for (var i=0; i<fileList.length; i++) { for (var i=0; i<fileList.length; i++) {
addFile(fileList[i]); addFile(fileList[i]);
} }
} });
};
// attach handlers
$(document).on(dropHandlers);
$(document).on('click', '.dropzone .remove-btn', function (e) { $(document).on('click', '.dropzone .remove-btn', function (e) {
e.stopPropagation(); e.stopPropagation();

Loading…
Cancel
Save