Chrome'un en son sürümünde Object.observe ile oynuyordum ve neden bir metin girişinin 'value' özelliği için çalışmadığını merak ediyordum. Aşağıdaki kod, 'foo' özelliğini eklemek/değiştirmek için bir değişiklik, ancak değer özelliğini değiştirmek için bir değişiklik yapmaz. Nedenini bilen var mı? Bu yüzdenobject.observe neden bir giriş alanının değer özelliği için çalışmıyor?
var myTextInput = document.getElementById('myTextInput');
Object.observe(myTextInput, function(changes){
changes.forEach(function(change) {
console.log(change);
});
});
myTextInput.value = 'test123';
myTextInput.foo = 'bar';
Belki de DOM düğümleri ana nesnelerdir ve temel olarak istedikleri şeyi yapabilirler (tür). Ayrıca, 'Object.observe', ES7'nin bir parçasıdır, oldukça deneysel ve kesinleştirilmemiş. –
'.value' DOM özelliği, getter/setter afair olarak uygulandı, bu yüzden gerçekten değişmiyor. – Bergi
@Bergi Ne olabileceği gibi görünüyor. Mutasyon gözlemciler de muhtemelen aynı nedenden dolayı girdilerin değer özelliğini almazlar. O zaman değerin nasıl saklandığını merak ediyorum. – user2054105