forked from leftypol/leftypol
Only add drag-drop handlers to dropzone, not the entire document
This enables dragging text into the textbox.
This commit is contained in:
parent
011bb40ebe
commit
1db5bd1a6e
|
@ -86,43 +86,39 @@ $(document).on('ajax_after_post', function () {
|
||||||
});
|
});
|
||||||
|
|
||||||
var dragCounter = 0;
|
var dragCounter = 0;
|
||||||
var dropHandlers = {
|
|
||||||
dragenter: function (e) {
|
|
||||||
e.stopPropagation();
|
|
||||||
e.preventDefault();
|
|
||||||
|
|
||||||
if (dragCounter === 0) $('.dropzone').addClass('dragover');
|
|
||||||
dragCounter++;
|
|
||||||
},
|
|
||||||
dragover: function (e) {
|
|
||||||
// needed for webkit to work
|
|
||||||
e.stopPropagation();
|
|
||||||
e.preventDefault();
|
|
||||||
},
|
|
||||||
dragleave: function (e) {
|
|
||||||
e.stopPropagation();
|
|
||||||
e.preventDefault();
|
|
||||||
|
|
||||||
dragCounter--;
|
|
||||||
if (dragCounter === 0) $('.dropzone').removeClass('dragover');
|
|
||||||
},
|
|
||||||
drop: function (e) {
|
|
||||||
e.stopPropagation();
|
|
||||||
e.preventDefault();
|
|
||||||
|
|
||||||
$('.dropzone').removeClass('dragover');
|
|
||||||
dragCounter = 0;
|
|
||||||
|
|
||||||
var fileList = e.originalEvent.dataTransfer.files;
|
|
||||||
for (var i=0; i<fileList.length; i++) {
|
|
||||||
addFile(fileList[i]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
// attach handlers
|
// attach handlers
|
||||||
$(document).on(dropHandlers);
|
$(document).on('dragenter', '.dropzone', function (e) {
|
||||||
|
e.stopPropagation();
|
||||||
|
e.preventDefault();
|
||||||
|
|
||||||
|
if (dragCounter === 0) $('.dropzone').addClass('dragover');
|
||||||
|
dragCounter++;
|
||||||
|
});
|
||||||
|
$(document).on('dragover', '.dropzone', function (e) {
|
||||||
|
// needed for webkit to work
|
||||||
|
e.stopPropagation();
|
||||||
|
e.preventDefault();
|
||||||
|
});
|
||||||
|
$(document).on('dragleave', '.dropzone', function (e) {
|
||||||
|
e.stopPropagation();
|
||||||
|
e.preventDefault();
|
||||||
|
|
||||||
|
dragCounter--;
|
||||||
|
if (dragCounter === 0) $('.dropzone').removeClass('dragover');
|
||||||
|
});
|
||||||
|
$(document).on('drop', '.dropzone', function (e) {
|
||||||
|
e.stopPropagation();
|
||||||
|
e.preventDefault();
|
||||||
|
|
||||||
|
$('.dropzone').removeClass('dragover');
|
||||||
|
dragCounter = 0;
|
||||||
|
|
||||||
|
var fileList = e.originalEvent.dataTransfer.files;
|
||||||
|
for (var i=0; i<fileList.length; i++) {
|
||||||
|
addFile(fileList[i]);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
$(document).on('click', '.dropzone .remove-btn', function (e) {
|
$(document).on('click', '.dropzone .remove-btn', function (e) {
|
||||||
e.stopPropagation();
|
e.stopPropagation();
|
||||||
|
|
Loading…
Reference in New Issue
Block a user