Я играл с Object.observe в последней версии Chrome и задавался вопросом, почему он не работает для свойства «значение» ввода текста. Приведенный ниже код регистрирует изменение для добавления/изменения свойства 'foo', но не для изменения свойства значения. Кто-нибудь знает, почему?
var myTextInput = document.getElementById('myTextInput');
Object.observe(myTextInput, function(changes){
changes.forEach(function(change) {
console.log(change);
});
});
myTextInput.value = 'test123';
myTextInput.foo = 'bar';
Object.observe
является частью ES7, очень экспериментальной и не доработанной. - person Felix Kling   schedule 31.08.2014.value
DOM реализовано как геттер/сеттер, поэтому оно на самом деле не меняется. - person Bergi   schedule 01.09.2014