JQuery拖放不能在firefox中工作,但在chrome和IE

时间:2017-05-25 13:20:36

标签: javascript jquery firefox drag-and-drop

        jQuery("#image-div").on('dragleave',function(e){
            document.getElementById("image-div").style.borderColor = "#E6E6E6";
            return false;
           });
        jQuery("#image-div").on('dragover',function(e){
            document.getElementById("image-div").style.borderColor = "#9B9999";
            return false;
           });
        jQuery("#image-div").on('drop',function(e){
            event.preventDefault && event.preventDefault();
            var files = event.dataTransfer.files[0];
            if (files.type.match("image.*"))
            {
            var fileReader = new FileReader();
            fileReader.onload = function (event)
            {
                uploadImage(event.target.result);
            }
            fileReader.readAsDataURL(files);
            } 
            return false;
           });

不知道我的代码有什么问题。它适用于Chrome和IE。当Ii放下图像时,我需要将其放在div中,而是在选项卡中打开。

2 个答案:

答案 0 :(得分:1)

因为您将事件定义为e,但使用window.event。

 jQuery("#image-div").on('drop',function(e){ <-- e
   event.preventDefault && event.preventDefault(); <-event

答案 1 :(得分:0)

只看一下你的代码,我认为你需要使用 e 而不是事件,除非你引用了一个我无法看到的事件范围之外的事件。