html 中的元素不可拖动,即使 draggable=true
Elements in html not draggable even if draggable=true
我有这个html:
<h3 id="mainCategories" ondrop="drop0" draggable="true">Main categories</h3>
<ul id="list">
<li id="0" draggable="true">...</li>
<li id="1" draggable="true">...</li>
<li id="2" draggable="true">...</li>
</ul>
拖放列表元素的效果很好,而不是 h3 元素不起作用,如果我 dragStart 或 dragOver 它,chrome 显示警告符号。我该如何解决?
我很确定这是一个非常基本和愚蠢的问题,但这就像我与 html 一起工作的第 3 天,所以我对它不是很有信心。
感谢帮助
为了实现您的目标,您需要禁用元素的默认行为(无法放入)。您只需要定义一个函数来防止这种行为,使用事件的 preventDefault 属性。
你可以找到一个很好的例子here
这是更新后的脚本
function drop() {
console.log("drop called")
}
function allowDrop(event) {
event.preventDefault();
}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<script src="script.js"></script>
<title>Document</title>
</head>
<body>
<h3 id="mainCategories" ondrop="drop()" ondragover="allowDrop(event)" draggable="true">Main categories</h3>
<ul id="list">
<li id="0" draggable="true">...</li>
<li id="1" draggable="true">...</li>
<li id="2" draggable="true">...</li>
</ul>
</body>
</html>
我有这个html:
<h3 id="mainCategories" ondrop="drop0" draggable="true">Main categories</h3>
<ul id="list">
<li id="0" draggable="true">...</li>
<li id="1" draggable="true">...</li>
<li id="2" draggable="true">...</li>
</ul>
拖放列表元素的效果很好,而不是 h3 元素不起作用,如果我 dragStart 或 dragOver 它,chrome 显示警告符号。我该如何解决? 我很确定这是一个非常基本和愚蠢的问题,但这就像我与 html 一起工作的第 3 天,所以我对它不是很有信心。 感谢帮助
为了实现您的目标,您需要禁用元素的默认行为(无法放入)。您只需要定义一个函数来防止这种行为,使用事件的 preventDefault 属性。
你可以找到一个很好的例子here
这是更新后的脚本
function drop() {
console.log("drop called")
}
function allowDrop(event) {
event.preventDefault();
}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<script src="script.js"></script>
<title>Document</title>
</head>
<body>
<h3 id="mainCategories" ondrop="drop()" ondragover="allowDrop(event)" draggable="true">Main categories</h3>
<ul id="list">
<li id="0" draggable="true">...</li>
<li id="1" draggable="true">...</li>
<li id="2" draggable="true">...</li>
</ul>
</body>
</html>