我已经在我的网站上创建了拖放功能。将图像放在此区域中时,将显示图像预览以及右上角的X标记,指示已删除图像。但是,当我将图像放在该区域时,X标记不可见。不透明度不会变为1。
这是我的代码。代码很长,但是我选择了相关部分:-
let deleteImage;
$(document).ready( function () {
deleteImage = document.getElementById("deleteImage").addEventListener('click', removeImage);
})
function handleDrop(e) {
let xhr = new XMLHttpRequest(),
data = new FormData();
xhr.onreadystatechange = function () {
if (this.readyState == 4 && this.status == 200) {
console.log("Response " + this.responseText);
imageUrlInput.value = this.responseText;
previewDropArea.setAttribute("src", this.responseText );
//------------- This code isn't working -----------------------------------
deleteImage.style.opacity = "1";
}
}
}
let removeImage = function (event) {
previewDropArea.setAttribute("src", "#");
imageUrlInput.value = "";
this.style.opacity = "0";
}
这是我与之关联的SASS:-
#deleteImage{
height: 20px;
width: 20px;
align-self: flex-start;
position: relative;
left: 90px;
opacity: 0;
}
答案 0 :(得分:1)
您已将deleteImage
定义为addEventListener
的返回值,因此它不是HTML元素。
您需要将deleteImage
定义为getElementById
。