javascript - JQuery 拖放在 Firefox 中不起作用,但在 chrome 和 IE 中起作用

标签 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。当我放置图像时,我需要将其放置在 div 中,但它会在选项卡中打开。

最佳答案

因为你将 event 定义为 e,但是使用了 window.event。

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

关于javascript - JQuery 拖放在 Firefox 中不起作用,但在 chrome 和 IE 中起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44181674/

相关文章:

javascript - Nashorn在JS中通过函数引用调用java对象的方法(通过绑定(bind)传递)

javascript - ASP.Net Core 3 将 JSON 数组发布到 Controller

javascript - 无法更改多个类名

javascript - 只允许拖放文本而不是在 html 输入字段中键入

javascript - 数据属性 - jquery 中的获取和设置

javascript - DataTables 无法添加行

c# - jQuery 与 WebApi 一起使用 - 甚至不调用 Controller 方法

javascript - 是否可以在 beforeunload 弹出窗口中显示自定义消息?

javascript - 有没有办法让 "prevent"用户阻止浏览器上的确认框(firefox)

css - 无法将样式注册到开发工具