我的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;
}
由于某些原因,运行此代码打破了拖累和放大drop upload,因为在该代码执行后,网站不会响应正在盘旋的文件。
Live demo(您可以在加载后尝试拉入并输入网站,然后键入“cls”或“clear”然后尝试再次拖动文件来重新创建)
答案 0 :(得分:1)
$("#container").html("");
销毁#fileupload
表单(因为它是#container
的孩子)