JavaScript Q&A Logo
JavaScript Q&A Part of the Q&A Topic Learning Network
Real Questions. Clear Answers.
Ask any question about JavaScript here... and get an instant response.
Q&A Balloon Q&A Logo
Post this Question & Answer:

How do I mock a DOM element in Jest for testing event listeners?

Asked on Jan 06, 2026

Answer

To mock a DOM element in Jest for testing event listeners, you can use Jest's built-in functions to simulate the DOM environment and attach event listeners to mock elements.
<!-- BEGIN COPY / PASTE -->
        // Import necessary functions from Jest
        const { JSDOM } = require('jsdom');

        // Create a mock DOM environment
        const dom = new JSDOM('<!DOCTYPE html><html><body><button id="myButton">Click me</button></body></html>');
        const document = dom.window.document;

        // Select the button element
        const button = document.getElementById('myButton');

        // Mock a click event listener
        const handleClick = jest.fn();
        button.addEventListener('click', handleClick);

        // Simulate a click event
        button.click();

        // Test if the event listener was called
        expect(handleClick).toHaveBeenCalled();
        <!-- END COPY / PASTE -->
Additional Comment:
  • The code uses JSDOM to create a mock DOM environment for testing.
  • A button element is selected using "getElementById".
  • An event listener is added to the button, and "jest.fn()" is used to mock the function.
  • The "click" method simulates a click event on the button.
  • "expect(handleClick).toHaveBeenCalled()" checks if the event listener was triggered.
✅ Answered with JavaScript best practices.
← Back to All Questions

Q&A Network
Real Questions. Clear Answers.
JavaScript
Ask Questions / Get Answers about JavaScript!
AI Marketing
Ask Questions / Get Answers about AI Marketing!
MobileDev
Ask Questions / Get Answers about Mobile Developement!
HTML
Ask Questions / Get Answers about HTML!
Creative Writing
Ask Questions / Get Answers about Creative Writing!
AI Video
Ask Questions / Get Answers about AI Video!
DevOps
Ask Questions / Get Answers about DevOps!
Security
Ask Questions / Get Answers about Website Security!
Robotics
Ask Questions / Get Answers about Robotics!
AI Audio
Ask Questions / Get Answers about AI Audio!
AI Images
Ask Questions / Get Answers about AI Images!
Cybersecurity
Ask Questions / Get Answers about Cybersecurity!
IoT
Ask Questions / Get Answers about IoT!
AI Writing
Ask Questions / Get Answers about AI Writing!
UI/UX Design
Ask Questions / Get Answers about UI/UX Design!
AI Design
Ask Questions / Get Answers about AI Design!
Tailwind
Ask Questions / Get Answers about Tailwind!
Photography
Ask Questions / Get Answers about Photography!
Networking
Ask Questions / Get Answers about Networking!
AI
Ask Questions / Get Answers about AI!
CSS
Ask Questions / Get Answers about CSS!
Nursing
Ask Questions / Get Answers about Nursing!
Cloud Computing
Ask Questions / Get Answers about Cloud Computing!
Web Hosting
Ask Questions / Get Answers about Hosting!
Business Finance
Ask Questions / Get Answers about Business Finance!
Video Editing
Ask Questions / Get Answers about Video Editing!
Motion Graphics
Ask Questions / Get Answers about Motion Graphics!
Quantum
Ask Questions / Get Answers about Quantum Computing!
Web Languages
Ask Questions / Get Answers about Web Languages!
Podcasting
Ask Questions / Get Answers about Podcasting!
Web Development
Ask Questions / Get Answers about Web Development!
Analytics
Ask Questions / Get Answers about Analytics!
Film Production
Ask Questions / Get Answers about Film Production!
Sound Design
Ask Questions / Get Answers about Sound Design!
Data Science
Ask Questions / Get Answers about Data Science!
Digital Burnout
Ask Questions / Get Answers about Digital Burnout!
Bootstrap
Ask Questions / Get Answers about Bootstrap!
AI Coding
Ask Questions / Get Answers about AI Coding!
AI Education
Ask Questions / Get Answers about AI Education!
Animation
Ask Questions / Get Answers about Animation!
Illustration
Ask Questions / Get Answers about Illustration!
Graphic Design
Ask Questions / Get Answers about Graphic Design!
Social Media Psychology
Ask Questions / Get Answers about Social Media Psychology!
Performance
Ask Questions / Get Answers about Web Vitals!
Monetization
Ask Questions / Get Answers about Ad & Monetization!
WordPress
Ask Questions / Get Answers about WordPress!
3D Design
Ask Questions / Get Answers about 3D Design!
VR & AR
Ask Questions / Get Answers about VR & AR!
AI Ethics
Ask Questions / Get Answers about AI Ethics!
Chatbots
Ask Questions / Get Answers about Chatbots!
AI Business
Ask Questions / Get Answers about AI Business!
SEO
Ask Questions / Get Answers about SEO!