我的浏览器删除文件的行为有问题。我有一个“ContentPanel”,其中包含一个文件拖放区域。当我拖放文件时,一切正常,但是当我将文件拖放到“ContentPanel”内的其他位置时,浏览器会打开文件(默认行为)。
我怎样才能避免这种情况?在最后一种情况下不应该发生任何事情。
需要 2 个放置处理程序,一个用于内容面板,另一个用于拖放区域。
public FileUploadWidget() {
RootPanel rootPanel = RootPanel.get();
DropHandler dropHandlerRoot = new DropHandler(rootPanel);
dropHandlerRoot.addFileEventHandler(new FileEventHandler() {
@Override
public void onFiles(FileEvent event) {
// Nothing to do, avoid the default browser
// behaviour which is to open the file
}
});
// Drag and drop area handler
dropHandler = new DropHandler(dragAndDropArea);
dropHandler.addFileEventHandler(new FileEventHandler() {
@Override
public void onFiles(FileEvent event) {
JsArray<File> files = event.getFiles();
for (int i = 0; i < files.length(); ++i) {
File file = files.get(i);
addFile(file);
handleSizeChange();
}
}
});
}