Javascript 在dropzone.js中启用复制和粘贴文件
我正在使用Javascript 在dropzone.js中启用复制和粘贴文件,javascript,jquery,dropzone.js,Javascript,Jquery,Dropzone.js,我正在使用dropzone.js。我想在其中实现“复制和粘贴”功能 我尝试的是: 内部dropzone.js: paste: function(e) { Dropzone.prototype.emit("paste"); } Dropzone.prototype.paste = function(e) { var items, _ref; if ((e != null ? (_ref = e.clipboardData) != null ? _ref.items : v
dropzone.js
。我想在其中实现“复制和粘贴”功能
我尝试的是:
内部dropzone.js:
paste: function(e) {
Dropzone.prototype.emit("paste");
}
Dropzone.prototype.paste = function(e) {
var items, _ref;
if ((e != null ? (_ref = e.clipboardData) != null ? _ref.items : void 0 : void 0) == null) {
return;
}
this.emit("paste", e);
items = e.clipboardData.items;
if (items.length) {
return this._addFilesFromItems(items);
}
};
页面级脚本:
<script>
var dropZone = Dropzone.forElement('#dropzone1');
dropZone.paste();
</script>
var dropZone=dropZone.forElement(“#dropzone1”);
dropZone.paste();
上面没有调用paste:function(e){..}
如何纠正它?这对我很有效。它使用。 由于我不是以编程方式创建dropzone,所以我必须在运行时使用init()方法存储它 请看这里以了解更多信息
如果不想使用其他JS库,可以通过从粘贴事件中以文件形式检索数据,相当轻松地将dropzone与粘贴事件集成:
// create dropzone however you wish
var myDropzone = new Dropzone("div#element", { url: "/path/to/upload"});
// add paste event listener to the page
document.onpaste = function(event){
var items = (event.clipboardData || event.originalEvent.clipboardData).items;
for (index in items) {
var item = items[index];
if (item.kind === 'file') {
// adds the file to your dropzone instance
myDropzone.addFile(item.getAsFile())
}
}
}
只需添加此代码。不要声明
URL
,因为URL
也在PHP或编码文件中声明,请将此代码粘贴到视图文件(HTML、PHP等)。如果使用jQuery,您可以使用略短的版本:jQuery(“body”).fileClipboard({accept:'image/*',on:{load:function(e,file){ DROPZOR.ADFILE(文件);} },我已经在下面评论了如何在浏览器中将DROPZORD连接到剪贴板粘贴事件。回答您的问题:为什么代码> > DROPZORZ.PATEST(<)/代码>不起作用:考虑<代码>巴斯()
您添加的方法依赖于粘贴事件的日期。直接调用它将不会有必要的粘贴事件,因此您将点击第一个return;
语句。您可以awesome@John你能帮忙吗?我的粘贴无法正常工作。单击“粘贴”在哪里?我想我必须将鼠标悬停在dropzone区域D上吗?我试过了,结果“完全不起作用。@cyber8200您的代码中有Javascript错误。请注释/删除块document.getElementById(“全部提交”)。addEventListener
您的HTML中没有具有该ID的元素,该ID限制了document.onPaste块的执行。删除错误块后,Paste似乎起作用。”。
// create dropzone however you wish
var myDropzone = new Dropzone("div#element", { url: "/path/to/upload"});
// add paste event listener to the page
document.onpaste = function(event){
var items = (event.clipboardData || event.originalEvent.clipboardData).items;
for (index in items) {
var item = items[index];
if (item.kind === 'file') {
// adds the file to your dropzone instance
myDropzone.addFile(item.getAsFile())
}
}
}
var myDropzone = new Dropzone(".dropzone", { });
document.onpaste = function(event){
var items = (event.clipboardData || event.originalEvent.clipboardData).items;
for (index in items) {
var item = items[index];
if (item.kind === 'file') {
// adds the file to your dropzone instance
myDropzone.addFile(item.getAsFile())
}
}
}