Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript html5:将tr拖到另一个表中_Javascript_Html_Drag And Drop - Fatal编程技术网

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;