我有一个 Angular 函数,允许将文本文件放入文本区域,并将内容放入文本框中。问题是这在 Firefox 中不起作用。有什么想法吗?
var app = angular.module('plunker', []);
app.controller('MainCtrl', function($scope) {
$scope.text = "";
})
.directive('plkrFileDropZone', [function () {
return {
restrict: 'EA',
scope: {content:'='},
link: function (scope, element, attrs) {
scope.content = "drop a .txt file here";
var processDragOverOrEnter;
processDragOverOrEnter = function (event) {
if (event !== null) {
event.preventDefault();
}
event.dataTransfer.effectAllowed = 'copy';
return false;
};
element.bind('dragover', processDragOverOrEnter);
element.bind('dragenter', processDragOverOrEnter);
element.bind('drop', handleDropEvent);
function insertText(loadedFile) {
scope.content = loadedFile.target.result;
scope.$apply();
}
function handleDropEvent(event) {
if (event !== null) {
event.preventDefault();
}
var reader = new FileReader();
reader.onload = insertText;
reader.readAsText(event.dataTransfer.files[0]);
}
}
};
}]);
最佳答案
有一个更简单的解决方案,删除该行
event.dataTransfer.effectAllowed = 'copy';
关于javascript - Angular 事件在 Firefox 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32618641/