Введите здесь.
HTML:
<input placeholder="HRM"/>
JavaScript:
let input = document.querySelector('input')
let observer = new MutationObserver((mutations) => {
mutations.forEach((mutation) => {
if (mutation.type === 'attributes') {
//let value = mutation.target.value
console.log(mutation)
console.log(mutation.attributeName)
}
})
}).observe(input, {
attributes: true
})
input.placeholder = 'asdfsd'
input.value = "Y U NO FIRE"
При изменении атрибута placeholder срабатывает Mutation Observer. Но при изменении атрибута value Mutation Observer не срабатывает. У кого-нибудь есть твердое понимание, почему? (Надеюсь, подкреплено ссылкой на стандарты ECMAScript/HTML5.)
Кто-нибудь знает, как мы можем отслеживать, когда JavaScript вносит изменения в HTMLInputElement value через input.value?