我已经尝试了一切,但这段 Javascript 代码不起作用:
document.addEventListener('DOMContentLoaded',function(e){
console.log('kk');
var box=document.getElementById('box');
var body=document.getElementsByTagName('body')[0];
setTimeout(document.getElementById('msgline').style.opacity=1,1000);
body.addEventListener('dragenter',function(e){
console.log('kkkkkkk!');
box.style.transform=box.style.webkitTransform='rotateX(-20deg) rotateY(180deg)';
enters++;
e.preventDefault();
return false;
});
body.addEventListener('dragover',function(e){e.preventDefault(); return false;});
body.addEventListener('dragleave',function(e){
if(--enters===0)
box.style.transform=box.style.webkitTransform='rotateX(-20deg)';
});
body.addEventListener('drop',function(e){
var files=e.dataTransfer.files;
[].forEach.call(files,function(file){
convertToMOSTEM(file);
}
);
e.preventDefault();
return false;
});
});
至少在 Firefox 中没有。它旨在body
为 html5 拖动注册事件处理程序。它应该box
在您拖动身体时应用一些样式,并在拖动离开时将其删除。convertToMOSTEM
每当删除文件时,它也应该调用。它将 kk 记录到控制台,这意味着其中的代码DOMContentLoaded
已执行。但是,它永远不会为盒子或日志设置动画 kkkkkkkk!当我拖到控制台或离开时,当我放下它时尝试打开文件。我很确定永远不会定义事件处理程序。它适用于 Safari 和 Chrome。问题是什么?