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:
parent
cf3c36f306
commit
bb029468ef
|
@ -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.
|
||||||
|
|
Loading…
Reference in New Issue