function dragStart(event) {
event.dataTransfer.setData("Text", event.target.id);
}
function dragging(event) {
if (event.dataTransfer.getData("text") == "drag1") {
document.getElementById("demo").innerHTML = "drag1 moving";
document.getElementById("rectangle2").ondrop = "return false();";
document.getElementById("rectangle2").disabled = true;
}
if (event.dataTransfer.getData("text") == "drag2") document.getElementById("demo").innerHTML = "drag2 moving";
}
function allowDrop(event) {
event.preventDefault();
}
function drop(event) {
event.preventDefault();
var data = event.dataTransfer.getData("Text");
event.target.appendChild(document.getElementById(data));
document.getElementById("demo").innerHTML = "The p element was dropped";
if (event.dataTransfer.getData("text") == "drag1") document.getElementById("demo").innerHTML = "Drag1 moved";
if (event.dataTransfer.getData("text") == "drag2") document.getElementById("demo").innerHTML = "Drag2 moved";
}
.rectangle1 {
float: left;
width: 100px;
height: 35px;
margin: 15px;
padding: 10px;
border: 1px solid red;
}
.rectangle2 {
float: left;
width: 100px;
height: 35px;
margin: 15px;
padding: 10px;
border: 1px solid blue;
}
.rectangle3 {
float: left;
width: 100px;
height: 35px;
margin: 15px;
padding: 10px;
border: 1px solid green;
}
.rectangle4 {
float: left;
width: 100px;
height: 35px;
margin: 15px;
padding: 10px;
border: 1px solid purple;
}
<p>Drag the p element back and forth between the rectangles:</p>
<table>
<tr>
<td>
<div class="rectangle1" ondrop="drop(event)" ondragover="allowDrop(event)">
</div>
</td>
<td>
<div class="rectangle2" id="rectangle2" ondrop="drop(event)" ondragover="allowDrop(event)"></div>
</td>
</tr>
<tr>
<td>
<div class="rectangle3" ondrop="drop(event)" ondragover="allowDrop(event)">
</div>
</td>
<td>
<div class="rectangle4" ondrop="drop(event)" ondragover="allowDrop(event)"></div>
</td>
</tr>
</table>
<p class="drag1" name="drag1" id="drag1" ondragstart="dragStart(event)" ondrag="dragging(event)" draggable="true">Drag 1</p>
<p class="drag2" name="drag2" id="drag2" ondragstart="dragStart(event)" ondrag="dragging(event)" draggable="true">Drag 2</p>
<p id="demo"></p>
I don't know why this is happening. I am testing a small interface to learn how to disable certain drop places. I need to be able to enable/disable drop places according to the object being moved. Object A can be dropped on place 1 and place 2 only, object B can be dropped on place 3 and place 4 only.
I copy the whole code at the bottom so anyone can see there is absolutely no mention of hugedomains-dot-com in it. And you never know, it might be useful for someone. The relevant function is this one:
function dragging(event) {
if (event.dataTransfer.getData("text") == "drag1") {
document.getElementById("demo").innerHTML = "drag1 moving";
document.getElementById("rectangle2").ondrop = "return false();";
document.getElementById("rectangle2").disabled = true;
}
if (event.dataTransfer.getData("text") == "drag2") document.getElementById("demo").innerHTML = "drag2 moving";
}
I'm just trying stuff, trying to find the proper syntax.
When I tested this code, I got redirected to hugedomains-dot-com. And worse, I was offered to buy the domain "drag1-dot-com", the name of my object!!! I first thought there was something wrong with the browser. I reintalled it with :
sudo apt remove --purge firefox
sudo apt install firefox
No change. I installed an add-on called "Block Site". Now I get redirected to a page saying hugedomains-dot-com is blocked.
I don't want to be redirected at all, I just want my "drag1" object to go back to it's original place if it's dropped over the wrong place (called "rectangle2").
Why on Earth is this happening? How can I stop it? Please help.
The rest of this post is the complete code of the html page, probably uninteresting for most readers.
<!DOCTYPE HTML>
<html>
<head>
<style>
.rectangle1 {
float: left;
width: 100px;
height: 35px;
margin: 15px;
padding: 10px;
border: 1px solid red;
}
.rectangle2 {
float: left;
width: 100px;
height: 35px;
margin: 15px;
padding: 10px;
border: 1px solid blue;
}
.rectangle3 {
float: left;
width: 100px;
height: 35px;
margin: 15px;
padding: 10px;
border: 1px solid green;
}
.rectangle4 {
float: left;
width: 100px;
height: 35px;
margin: 15px;
padding: 10px;
border: 1px solid purple;
}
</style>
</head>
<body>
<p>Drag the p element back and forth between the rectangles:</p>
<table>
<tr>
<td>
<div class="rectangle1" ondrop="drop(event)" ondragover="allowDrop(event)">
</div>
</td>
<td>
<div class="rectangle2" id="rectangle2" ondrop="drop(event)" ondragover="allowDrop(event)"></div>
</td>
</tr>
<tr>
<td>
<div class="rectangle3" ondrop="drop(event)" ondragover="allowDrop(event)">
</div>
</td>
<td>
<div class="rectangle4" ondrop="drop(event)" ondragover="allowDrop(event)"></div>
</td>
</tr>
</table>
<p class = "drag1" name = "drag1" id = "drag1" ondragstart="dragStart(event)" ondrag="dragging(event)" draggable="true">Drag 1</p>
<p class = "drag2" name = "drag2" id = "drag2" ondragstart="dragStart(event)" ondrag="dragging(event)" draggable="true">Drag 2</p>
<p id="demo"></p>
<script>
function dragStart(event) {
event.dataTransfer.setData("Text", event.target.id);
}
function dragging(event) {
if (event.dataTransfer.getData("text") == "drag1") {
document.getElementById("demo").innerHTML = "drag1 moving";
document.getElementById("rectangle2").ondrop = "return false();";
document.getElementById("rectangle2").disabled = true;
}
if (event.dataTransfer.getData("text") == "drag2") document.getElementById("demo").innerHTML = "drag2 moving";
}
function allowDrop(event) {
event.preventDefault();
}
function drop(event) {
event.preventDefault();
var data = event.dataTransfer.getData("Text");
event.target.appendChild(document.getElementById(data));
document.getElementById("demo").innerHTML = "The p element was dropped";
if (event.dataTransfer.getData("text") == "drag1") document.getElementById("demo").innerHTML = "Drag1 moved";
if (event.dataTransfer.getData("text") == "drag2") document.getElementById("demo").innerHTML = "Drag2 moved";
}
</script>
</body>
</html>