'ondragstart event not firing and not working

i have 3 buttons and i wanna see a message when i drag or click or end drag them but I'm so confused with the firing of the events.
let me show you an example :

function click(event){
    event.preventDefault();
    /*
    lastwordchoosed = "";
    isindrag = true;
    */
    //lastwordchoosed += document.getElementById(id).innerHTML;
    console.log("you started dragging");
}
function over(event){
    event.preventDefault();
    console.log("you go on a button")
        //lastwordchoosed += document.getElementById(id).innerHTML;
        debugger;
}
function up(event){
    event.preventDefault();
    console.log("you stopped dragging");
        //lastwordchoosed += document.getElementById(id).innerHTML
        debugger;
}
<!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">
    <title>Document</title>
</head>
<body>
    <p draggable="true" id="b1" ondragstart="click(event)" ondragover="over(event)" ondragend="up(event)" style="font-size: 30pt;">a</p>
    <p draggable="true" id="b2" ondragstart="click(event)" ondragover="over(event)" ondragend="up(event)" style="font-size: 30pt;">z</p>
    <p draggable="true" id="b3" ondragstart="click(event)" ondragover="over(event)" onmouseup="up(event)" style="font-size: 30pt;">b</p>
    <p id="demo"></p>
</body>
<script src="index.js"></script>
</html>
but the dragstart event doesn't work and when i start dragging on an element it doesn't say you started dragging.Why?


Solution 1:[1]

click() is the inbuilt of javascript's button object. for that function click(event) not working. need change Function name.

function click1(event){
    event.preventDefault();
    /*
    lastwordchoosed = "";
    isindrag = true;
    */
    //lastwordchoosed += document.getElementById(id).innerHTML;
    console.log("you started dragging");
}
function over(event){
    event.preventDefault();
    console.log("you go on a button")
        //lastwordchoosed += document.getElementById(id).innerHTML;
        debugger;
}
function up(event){
    event.preventDefault();
    console.log("you stopped dragging");
        //lastwordchoosed += document.getElementById(id).innerHTML
        debugger;
}
<!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">
    <title>Document</title>
</head>
<body>
    <p draggable="true"  id="b1" ondragstart="click1(event)" ondragover="over(event)" ondragend="up(event)" style="font-size: 30pt;">a</p>
    <p draggable="true"  id="b2" ondragstart="click1(event)" ondragover="over(event)" ondragend="up(event)" style="font-size: 30pt;">z</p>
    <p draggable="true" id="b3" ondragstart="click1(event)" ondragover="over(event)" onmouseup="up(event)" style="font-size: 30pt;">b</p>'
 

    <p id="demo"></p>
</body>
<script src="index.js"></script>
</html>

Solution 2:[2]

this would be:

actual_y = [10,20,30,40,50,60,70,80,90]
predicted_y = [1,2,3,4,5,6,7,8,9]
difference = [i-j for i,j in zip(actual_y,predicted_y)]

print(abs(difference))

Output:

[9, 18, 27, 36, 45, 54, 63, 72, 81]

Solution 3:[3]

alternatively you could use numpy :

import numpy as np
actual_y = np.array([10,20,30,40,50,60,70,80,90])
predicted_y = np.array([1,2,3,4,5,6,7,8,9])
print(actual_y - predicted_y)

output :

>>> [ 9 18 27 36 45 54 63 72 81]

Solution 4:[4]

The previous solution are fine, but if you still want to use the for loop, it may look like this.

actual_y = [10,20,30,40,50,60,70,80,90]
predicted_y = [1,2,3,4,5,6,7,8,9]


D = []
for i in range(0,len(actual_y)):
   B = actual_y[i] - predicted_y[i]
   D.append(B)
print(D)


[9, 18, 27, 36, 45, 54, 63, 72, 81]

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1
Solution 2
Solution 3 eshirvana
Solution 4