最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

javascript - How to listen to when an element becomes disabled or enabled - Stack Overflow

programmeradmin0浏览0评论

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
Add a ment  | 

1 Answer 1

Reset to default 11

You 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
});

发布评论

评论列表(0)

  1. 暂无评论