I'm looking to make changes on nearby elements when an input or fieldset is disabled. Is there an event that listens to when an element is enabled or disabled? For example:
var input = document.createElement('input')
I'm looking for an event that would fire from toggling the disabled state:
input.disabled = !input.disabled
I'm looking to make changes on nearby elements when an input or fieldset is disabled. Is there an event that listens to when an element is enabled or disabled? For example:
var input = document.createElement('input')
I'm looking for an event that would fire from toggling the disabled state:
input.disabled = !input.disabled
Share
Improve this question
edited Aug 4, 2021 at 22:14
Brian Tompsett - 汤莱恩
5,89372 gold badges61 silver badges133 bronze badges
asked Oct 24, 2016 at 23:55
ryanveryanve
52.6k32 gold badges105 silver badges142 bronze badges
1
- 1 maybe developer.mozilla/en/docs/Web/API/MutationObserver – Isaac Commented Oct 24, 2016 at 23:58
1 Answer
Reset to default 11You can use MutationObserver
with attributes
set to true
at configuration object.
var input = document.createElement("input");
var observer = new MutationObserver(function(mutations) {
mutations.forEach(function(mutation) {
if (mutation.attributeName === "disabled") {
console.log(`${mutation.target.tagName}.disabled:`
, `${mutation.target[mutation.attributeName]}`)
}
});
});
observer.observe(input, {
attributes: true
});
input.disabled = !(input.disabled); // true
setTimeout(function() {
input.disabled = !(input.disabled); // false
});