element with id="demo": ```javascript document.getElementById("myBtn").addEventListener("click", function(){ document.getElementById("demo").innerHTML = "Hello World"; }); [Try it Β»](#) * * * ## Definition and Usage The addEventListener() method is used to attach an event handler to a specified element. **Tip:** Use the [removeEventListener()](#) method to remove event handlers added with the addEventListener() method. * * * ## Browser Support The numbers in the table specify the first browser version that fully supports the method. | Method | | | | | | | --- | --- | --- | --- | --- | --- | | addEventListener() | 1.0 | 9.0 | 1.0 | 1.0 | 7.0 | **Note:** Internet Explorer 8 and earlier IE versions do not support the addEventListener() method, and Opera 7.0 and earlier Opera versions do not either. However, for these browsers that do not support this function, you can use the **attachEvent()** method to add event handlers (see the "More Examples" section for a cross-browser solution). * * * ## Syntax _element_.addEventListener(_event_, _function_, _useCapture_) ## Parameter Values | Parameter | Description | | --- | --- | | _event_ | Required. A string that specifies the name of the event. **Note:** Do not use the "on" prefix. For example, use "click" instead of "onclick". **Tip:** All HTML DOM events can be found in our complete (#). | | _function_ | Required. Specifies the function to run when the event occurs. The event object is passed to the function as the first argument. The type of event object depends on the specific event. For example, the "click" event belongs to the MouseEvent object. | | _useCapture_ | Optional. A Boolean value that specifies whether the event should be executed in the capturing or in the bubbling phase. Possible values: * true - The event handler is executed in the capturing phase * false- false- Default. The event handler is executed in the bubbling phase | ## Technical Details | DOM Version: | DOM Level 2 Events | | --- | --- | | Return Value: | No return value | | Note: | The useCapture parameter is optional in Firefox 6 and Opera 11.60. (It has always been optional in Chrome, IE, and Safari). | * * * ## More Examples ## Example You can refer to an external function by its function name. This example demonstrates how to execute a function when the user clicks on a element: ```javascript document.getElementById("myBtn").addEventListener("click", myFunction); function myFunction() { document.getElementById("demo").innerHTML = "Hello World"; } [Try it Β»](#) ## Example You can add many event handlers to one element. The added event handlers do not overwrite existing event handlers. This example demonstrates how to add two click events to a element: ```javascript document.getElementById("myBtn").addEventListener("click", myFunction); document.getElementById("myBtn").addEventListener("click", someOtherFunction); [Try it Β»](#) ## Example You can add different event types to the same element. This example demonstrates how to add multiple events to the same element: ```javascript document.getElementById("myBtn").addEventListener("mouseover", myFunction); document.getElementById("myBtn").addEventListener("click", someOtherFunction); document.getElementById("myBtn").addEventListener("mouseout", someOtherFunction); [Try it Β»](#) ## Example When passing parameter values, use an "anonymous function" to call a function with parameters: ```javascript document.getElementById("myBtn").addEventListener("click", function() { myFunction(p1, p2); }); [Try it Β»](#) ## Example Change the background color of the element: ```javascript document.getElementById("myBtn").addEventListener("click", function(){ this.style.backgroundColor = "red"; }); [Try it Β»](#) ## Example Use the optional _useCapture_ parameter to demonstrate the difference between the bubbling and capturing phases: ```javascript document.getElementById("myDiv").addEventListener("click", myFunction, true); [Try it Β»](#) ## Example Use the removeEventListener() method to remove an event handler that was added with the addEventListener() method: ```javascript // Add event handler to document.getElementById("myDIV").addEventListener("mousemove", myFunction); // Remove event handler from document.getElementById("myDIV").removeEventListener("mousemove", myFunction); [Try it Β»](#) ## Example If the browser does not support the addEventListener() method, you can use the attachEvent() method as a fallback. The following example demonstrates a cross-browser solution: ```javascript var x = document.getElementById("myBtn"); if (x.addEventListener) { // All modern browsers, except IE 8 and earlier IE versions x.addEventListener("click", myFunction); } else if (x.attachEvent) { // IE 8 and earlier IE versions x.attachEvent("onclick", myFunction); } [Try it Β»](#) * * * ## Related Pages JavaScript Tutorial: (#) JavaScript Reference: [document.addEventListener()](#) * * Element Object](#)β Js Htmldom EventlistenerMet Document Removeeventlisten β π Categoriesβ‘ JavaScript (1589)π PHP (872)π Python3 (810)π HTML (691)βοΈ C# (650)π Python (594)β Java (552)βοΈ PyTorch (534)π§ Linux (472)βοΈ C (432)π¦ jQuery (406)π¨ CSS (377)π XML (259)π¦ jQuery UI (231)π― Bootstrap (220)βοΈ C++ (215)π °οΈ Angular (205)π HTML DOM (201)π΄ Redis (188)π Web Building (142)π Vue.js (141)π R (131)πΌ Pandas (124)ποΈ SQL (105)βοΈ Docker (86)βοΈ TypeScript (73)βοΈ Highcharts (70)π AI Agent (70)βοΈ React (68)π Node.js (65)βοΈ Machine Learning (60)π Git (59)π΅ Go (58)π Markdown (58)π’ NumPy (55)π§ͺ Flask (54)βοΈ Scala (53)ποΈ SQLite (52)π JSTL (52)βοΈ VS Code (51)π MongoDB (49)π Perl (48)π Ruby (47)π Matplotlib (47)βοΈ Uncategorized (46)π Swift (46)ποΈ PostgreSQL (46)βοΈ Data Structures (46)π Playwright (46)π iOS (45)ποΈ MySQL (44)βοΈ LangChain (43)π FastAPI (40)βοΈ Ionic (38)π Design Patterns (37)βοΈ Eclipse (37)π¨ CSS3 (34)π Lua (34)βοΈ Codex (34)πΈ Django (32)βοΈ OpenCV (32)π Rust (31)π JSP (31)βοΈ Claude Code (31)π Pillow (30)βοΈ OpenCode (28)π AI Skills (27)π Flutter (26)π Maven (26)π¨ Tailwind CSS (25)π§ TensorFlow (25)π Servlet (24)π Dart (23)π Assembly (23)βοΈ Memcached (22)βοΈ SVG (22)βοΈ Electron (22)π NLP (22)π Regex (21)π Android (20)π£ Kotlin (19)π Julia (19)π SOAP (17)π Selenium (17)π PowerShell (17)π Sass (16)π HTTP (16)π Zig (15)π AI (15)π AJAX (14)π Swagger (14)βοΈ Scikit-learn (13)βοΈ ECharts (13)βοΈ Chart.js (13)βοΈ Cursor (13)βοΈ SciPy (12)π RDF (12)π Ollama (12)π Next.js (12)π Plotly Dash (12)π JSON (11)π RESTful API (11)π WSDL (9)βοΈ CMake (8)π Firebug (7)π Nginx (6)βΈοΈ Kubernetes (6)π Jupyter (6)π LaTeX (4)π UniApp (4)ποΈ SQL Server (1)