Use addEventListener() for event handling
const button = document.querySelector('button');
button.addEventListener('click', (event) => {
console.log('Button clicked!', event);
});const form = document.querySelector('form');
form.addEventListener('submit', (e) => {
e.preventDefault(); // Prevent default form submission
const formData = new FormData(form);
const data = Object.fromEntries(formData);
console.log('Form data:', data);
});
// Multiple events
const input = document.querySelector('input');
['focus', 'blur', 'input'].forEach(eventType => {
input.addEventListener(eventType, (e) => {
console.log(`${eventType} event`);
});
});function handler(e) { console.log(e); }
element.addEventListener('click', handler);
element.removeEventListener('click', handler);parent.addEventListener('click', (e) => {
if (e.target.matches('.child-class')) {
// Handle child click
}
});Avoid inline event handlers
// DON'T DO THIS
<button onclick="handleClick()">Click</button>✓ Works in all modern browsers (IE9+)