fix: prevent dropdown toggle on Enter in form input (Bootstrap #41354 workaround)

This commit is contained in:
Sanchit Kathpalia 2025-07-31 15:46:11 +05:30
parent e392fc500e
commit b3d0204067

View File

@ -17,3 +17,22 @@
}, false)
})
})()
// Workaround for Bootstrap dropdown toggling on Enter in form inputs
// See: https://github.com/twbs/bootstrap/issues/41354
document.addEventListener('keydown', function(event) {
if (event.key === 'Enter') {
if (
event.target.tagName === 'INPUT' &&
event.target.form
) {
// Find all dropdown toggles after the input in the same form
let dropdowns = Array.from(event.target.form.querySelectorAll('[data-bs-toggle="dropdown"]'));
let inputIndex = Array.from(event.target.form.elements).indexOf(event.target);
if (dropdowns.some(btn => Array.from(event.target.form.elements).indexOf(btn) > inputIndex)) {
event.stopPropagation();
}
}
}
}, true);