More actions
Created page with "// quickLinkCardClick.js (function () { // Wait until the DOM is fully loaded document.addEventListener('DOMContentLoaded', function () { document.querySelectorAll('.vh-quick-link-card').forEach(card => { const link = card.querySelector('a'); if (!link) return; card.addEventListener('click', function (e) { // Avoid double-activating if user clicks directly on the <a> if ( e.target.tagName.toLowerCase() === 'a' ||..." |
mNo edit summary |
||
(2 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
(function () { | (function () { | ||
if (mw.config.get('wgIsMainPage') !== true) return; | |||
mw.hook('wikipage.content').add(function (content) { | |||
const cards = content[0].querySelectorAll('.vh-quick-link-card'); | |||
cards.forEach(card => { | |||
const link = card.querySelector('a'); | const link = card.querySelector('a'); | ||
if (!link) return; | if (!link) return; | ||
card.addEventListener('click', function (e) { | card.addEventListener('click', function (e) { | ||
if (e.target.closest('a')) return; | |||
window.location.href = link.href; | window.location.href = link.href; | ||
}); | }); | ||
card.setAttribute('role', 'link'); | card.setAttribute('role', 'link'); | ||
card.setAttribute('tabindex', '0'); | card.setAttribute('tabindex', '0'); |
Latest revision as of 04:45, 23 July 2025
(function () {
if (mw.config.get('wgIsMainPage') !== true) return;
mw.hook('wikipage.content').add(function (content) {
const cards = content[0].querySelectorAll('.vh-quick-link-card');
cards.forEach(card => {
const link = card.querySelector('a');
if (!link) return;
card.addEventListener('click', function (e) {
if (e.target.closest('a')) return;
window.location.href = link.href;
});
card.setAttribute('role', 'link');
card.setAttribute('tabindex', '0');
card.addEventListener('keydown', function (e) {
if (e.key === 'Enter' || e.key === ' ') {
e.preventDefault();
window.location.href = link.href;
}
});
});
});
})();