javascript - Document.on.dragover 被不相关的代码破坏

标签 javascript jquery

我的 JavaScript 文件是 here 。基本上我的网站是一个命令提示符风格的网站,我在其中输入命令来执行某些功能,例如文件上传。我还有一个“拖放”上传功能,如下所示:

$(document).on('dragover', 'body', function(e) {
    e.preventDefault();
    $("#fileupload").addClass('ishovered');
    $(".dragtext").show();
});
$(document).on('dragleave', 'body', function(e) {
    $("#fileupload").removeClass('ishovered');
    $(".dragtext").hide();
});
$(document).on('drop', 'body', function(e) {
    $("#fileupload").removeClass('ishovered');
    $(".dragtext").hide();
});

现在这在网站负载上工作得很好。但在我运行这个看似无关的代码之后:

[...]
} else if (value.match("^clear") || value.match("^cls")) {
    if ($(".isup").attr("value") == "tr") {
        $("#container").append("<span class='code'>" + value + "</span><span class='cmd-cont'>error: please answer yes/no first</span>");
        updateScroll();
    } else {
        $("#container").html(""); /* This is what usually runs, and for some reason breaks the drag & drop upload */
    }
}
[...]
function updateScroll() {
    var element = document.getElementById("container");
    element.scrollTop = element.scrollHeight;
}

由于某种原因,运行此代码会中断拖放上传,因为在执行该代码后,网站不会响应悬停在其上的文件。

Live demo (您可以通过在加载后尝试将文件拖入网站来重新创建,然后输入“cls”或“clear”,然后尝试再次拖入文件)

最佳答案

$("#container").html(""); 销毁 #fileupload 表单(因为它是 #container 的子表单>)

关于javascript - Document.on.dragover 被不相关的代码破坏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42981078/

相关文章:

javascript - Chart.js 有没有办法根据值对折线图刻度进行着色

jquery - d3 mouseout 改变所选元素的属性

php - 隐藏 .show 后 JavaScript 出现问题

jquery - 克隆克隆的选择(重置值的问题)

javascript - Twitter Bootstrap 模式出现在错误的位置,不居中且按钮不可点击

javascript - 令人困惑的 Javascript 引号

仅适用于 chrome,不适用于 Firefox 的 JavaScript 脚本。 (拖动div的脚本)

javascript - 从 jscolor 获取颜色

javascript - 按共同值对 javascript 对象进行分组

javascript - 在用户单击时使用 ajax 加载 processing.js 草图