Javascript html5:将tr拖到另一个表中
我正试图将一个Javascript html5:将tr拖到另一个表中,javascript,html,drag-and-drop,Javascript,Html,Drag And Drop,我正试图将一个tr拖到另一个表中 控制台正在抛出未捕获的引用错误:未定义allowDrop。我不确定这是为什么 小提琴: 一个 两个 三 四 五 六 功能allowDrop(ev){ ev.preventDefault(); } 功能阻力(ev){ ev.dataTransfer.setData(“文本”,ev.target.id); } 功能下降(ev){ ev.preventDefault(); var data=ev.dataTransfer.getData(“文本”); ev.targ
tr
拖到另一个表中
控制台正在抛出未捕获的引用错误:未定义allowDrop
。我不确定这是为什么
小提琴:
一个
两个
三
四
五
六
功能allowDrop(ev){
ev.preventDefault();
}
功能阻力(ev){
ev.dataTransfer.setData(“文本”,ev.target.id);
}
功能下降(ev){
ev.preventDefault();
var data=ev.dataTransfer.getData(“文本”);
ev.target.appendChild(document.getElementById(数据));
}
ondragover=“allowDrop(event)”
在呈现
时立即调用allowDrop
函数,但直到
之后才定义allowDrop
它需要更改为
ondragover=“allowDrop”
我发现了代码无法工作的一个原因。您的id
属性不应以数字开头
ID和名称标记必须以字母([a-Za-z])开头,后面可以是任意数量的字母、数字([0-9])、连字符(“-”)、下划线(“)、冒号(:”)和句点(“.”)
JSFIDLE不会在全局命名空间中运行javascript,因此不会公开函数声明。您可以在末尾添加以下内容:
window.allowDrop = allowDrop;
window.drag = drag;
window.drop = drop;
你能把
表格
改成div吗。我很高兴地承认,我不知道为什么你正在做的事情不起作用,我希望有人能解释一下……我很确定这个要求在HTML5中被消除了。
document.allowDrop = function(ev) {
ev.preventDefault();
}
document.drag = function(ev) {
ev.dataTransfer.setData("Text", ev.target.id);
}
document.drop = function(ev) {
ev.preventDefault();
var data = ev.dataTransfer.getData("Text");
ev.target.appendChild(document.getElementById(data));
}
window.allowDrop = allowDrop;
window.drag = drag;
window.drop = drop;