MediaWiki:Common.js: Difference between revisions

From Ironclad Wiki
Jump to navigation Jump to search
Created page with "Any JavaScript here will be loaded for all users on every page load.: // Add pressed class on pointer and keyboard document.addEventListener('DOMContentLoaded', function () { const buttons = document.querySelectorAll('.ic-btn'); buttons.forEach(btn => { // Touch and mouse btn.addEventListener('pointerdown', () => btn.classList.add('is-pressed')); btn.addEventListener('pointerup', () => btn.classList.remove('is-pressed')); btn.addEventListener(..."
(No difference)

Revision as of 20:37, 11 August 2025

/* Any JavaScript here will be loaded for all users on every page load. */
// Add pressed class on pointer and keyboard
document.addEventListener('DOMContentLoaded', function () {
  const buttons = document.querySelectorAll('.ic-btn');

  buttons.forEach(btn => {
    // Touch and mouse
    btn.addEventListener('pointerdown', () => btn.classList.add('is-pressed'));
    btn.addEventListener('pointerup',   () => btn.classList.remove('is-pressed'));
    btn.addEventListener('pointerleave',() => btn.classList.remove('is-pressed'));

    // Keyboard accessibility if someone tabs to the link
    btn.addEventListener('keydown', e => {
      if (e.code === 'Space' || e.code === 'Enter') btn.classList.add('is-pressed');
    });
    btn.addEventListener('keyup', () => btn.classList.remove('is-pressed'));
  });
});