The d3.mouse() function in D3.js is used to return the x-coordinate and y-coordinate of the current event. If the event is clicked then it returns the x and y position of the click.
Syntax:
d3.mouse(container);
Parameters: This function accepts a single parameter as mentioned above and described below:
- container: It is the name of the container or the HTML tag to which the event is attached.
Return Values: It returns the array of coordinates x and y.
Below examples illustrate the D3.js mouse() function In JavaScript:
Example1:
HTML
<!DOCTYPE html> <html lang="en">     <head>         <meta charset="UTF-8" />         <meta            name="viewport"            path1tent="width=device-width,                        initial-scale=1.0"/>         <title>D3.js mouse() Function</title>     </head>     <style>         div {             width: 200px;             height: 200px;             background-color: green;         }     </style>     <body>         <div></div>         <script src=         </script>         <script src=         </script>         <script>             let btn = document.querySelector("div");             var div = d3.select("div");             div.on("click", createDot);             function createDot() {                                 // Using d3.mouse() function                 let pos = d3.mouse(this);                 console.log(pos);             }         </script>     </body> </html> |
Output:
Example 2:
HTML
<!DOCTYPE html> <html lang="en">     <head>         <meta charset="UTF-8" />         <meta            name="viewport"            path1tent="width=device-width,                        initial-scale=1.0"/>         <title>D3.js mouse() Function</title>     </head>     <style>         .div {             width: 200px;             height: 200px;             background-color: green;             overflow: hidden;         }         div {             background-color: red;             width: 10px;             height: 10px;         }     </style>     <body>         <h2>click on the box</h2>         <div class="div"></div>         <script src=         </script>         <script src=         </script>         <script>             let btn = document.querySelector("div");             var div = d3.select("div");             div.on("click", createDot);             function createDot() {                                 // Using d3.mouse() function                 let pos = d3.mouse(this);                 console.log(pos);                 d3.select("div")                     .append("div")                     .style("background-color", "white")                     .style("position", "absolute")                     .style("margin-left", `${pos[0] - 10}px`)                     .style("margin-right", `${pos[0] - 10}px`)                     .style("margin-top", `${pos[1] - 10}px`)                     .style("margin-bottom", `${pos[1] - 10}px`);             }         </script>     </body> </html> |
Output:
Before clicking the box:
After clicking the box:

