extension: Listen for `onchange` events

For checkboxes, `click`, `onchange`, and `oninput` seem all the same,
but for other input types (e.g. dropdowns, text boxes) this matters.
This commit is contained in:
relrelb 2021-09-24 09:44:17 +03:00 committed by relrelb
parent cf3c36f306
commit bb029468ef
1 changed files with 7 additions and 7 deletions

View File

@ -41,18 +41,18 @@ export async function bindBooleanOptions(
label.offsetHeight; // Trigger a reflow, flushing the CSS changes. label.offsetHeight; // Trigger a reflow, flushing the CSS changes.
label.classList.remove("notransition"); label.classList.remove("notransition");
// TODO: click/change/input?
checkbox.addEventListener("click", () => {
const value = checkbox.checked;
options[key] = value;
utils.storage.sync.set({ [key]: value });
});
// Localize label. // Localize label.
const message = utils.i18n.getMessage(`settings_${checkbox.id}`); const message = utils.i18n.getMessage(`settings_${checkbox.id}`);
if (message) { if (message) {
label.textContent = message; label.textContent = message;
} }
// Listen for user input.
checkbox.addEventListener("change", () => {
const value = checkbox.checked;
options[key] = value;
utils.storage.sync.set({ [key]: value });
});
} }
// Listen for future changes. // Listen for future changes.