HTML5   发布时间:2022-04-25  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了html5 – Firefox中的文件拖放(v10)大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试将文件拖放到firefox中,并且正在采取婴儿步骤开始.现在,我只是想将一些文件拖入dropzone并获取删除文件的列表.此时,我还不想对这些文件做任何事情.

当我从finder到dropzone拖动一个文件(在这种情况下是一个图像,但同样的事情发生而不管文件类型)时,我可以看到dragenter和dragexit事件被触发.当我将文件放入dropzone时,drop事件不会触发.相反,浏览器会自动打开图像(例如,地址显示文件://path/to/my/image.png).

我的javascript看起来像这样

dropBox = document.getElementById("standard_file_dropzone");

  dropBox.addEventListener("dragenter",function(){Console.log('standard enter');},falsE);
  dropBox.addEventListener("dragexit",function(){Console.log('standard exit');},falsE);
  dropBox.addEventListener("dragover",$.noop,falsE);
  dropBox.addEventListener("drop",function ( event ) {
                                     console.log('standard dropped');
                                     event.stopPropagation();
                                     event.preventDefault();

                                     if(( typeof event.dataTransfer.files !== 'undefined' ) &&
                                        ( event.dataTransfer.files.length > 0 )) {
                                       console.dir( event.dataTransfer.files );

                                     }
                                     return false;
                                   },falsE);

我的HTML看起来像这样

<div id="standard_file_dropzone" style="height:150px; width:150px; border:solid;">
      Standard Drop Files Here
    </div>

所以我想知道我在这里做错了什么?上面的代码似乎没有任何错误(至少对我来说很明显). dragenter / exit事件正在解雇,为什么不是drop事件?为什么浏览器试图打开文件本身?

有一点需要注意,当我在Chrome中打开我的页面时,这是按预期工作的,因此这是Firefox特有的问题.

日Thnx,@H_696_23@克里斯托夫

解决方法

问题是使用$.noop作为dragover处理程序.用一个实际停止传播和冒泡的功能替换它,它开始按预期工作.

我有时候真是个白痴. :p

大佬总结

以上是大佬教程为你收集整理的html5 – Firefox中的文件拖放(v10)全部内容,希望文章能够帮你解决html5 – Firefox中的文件拖放(v10)所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。