Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
menu search
person
Welcome To Ask or Share your Answers For Others

Categories

I'm still struggeling with an piece of JavaScript coding. I've stripped it down to the following coding:

<!DOCTYPE html>
<html lang="de">
<meta charset="UTF-8">
<title>dad-test</title>
<body>
<div  id='spaltemu'> </div>
<script type="text/javascript">
function allowdrop(event) {
  event.preventDefault();
}
function drag(event) {
  event.dataTransfer.setData("text", event.target.id);
}
function drop(event) {
  event.preventDefault();
  var data = event.dataTransfer.getData("text");
  event.target.appendChild(document.getElementById(data));
}
    var spkart = document.getElementById ('spaltemu');
    spkart.ondrop = 'drop(event)';
    spkart.ondragover = 'allowdrop(event)';
    alert ('Halt');
</script>
</body>
</html>

When running this code the debugger shows that neither the assignment of ondrop nor the one of ondragover works. Debugger shows "null" as value. I don't understand what's wrong. Any hint is very much appreciated!

question from:https://stackoverflow.com/questions/65832431/assign-ondrop-to-an-element-in-javascript

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
627 views
Welcome To Ask or Share your Answers For Others

1 Answer

Finally I found a solution to this though I don't understand the problem completely. Why does this lead to an error: ...

function allowdrop(event) {
  event.preventDefault();
}
var spkart = document.getElementById ('spaltemu');
spkart.ondragover = 'allowdrop(event)';

while thisone works:

spkart.ondragover = function(event) {
event.preventDefault();
};

Nevertheless I found a solution ...


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
...