Unutmayın ki Object.Watch
ve Object.Observe
her ikisi (Jun 2018 itibariyle) şimdi artık yok.
Değişiklikler için bir nesneyi veya değişkeni izlemenin kolay bir yolunu arıyordum ve bunun Object.watch()
Mozilla tarayıcılarında desteklendiğini ancak IE'de desteklenmediğini buldum . Bu yüzden, birinin eşdeğer bir tür yazıp yazmadığını görmek için etrafı araştırmaya başladım.
Bulduğum tek şey bir jQuery eklentisi oldu , ancak bunun en iyi yol olup olmadığından emin değilim. Projelerimin çoğunda kesinlikle jQuery kullanıyorum, bu yüzden jQuery yönü hakkında endişelenmiyorum ...
Her neyse, soru şu: Biri bana o jQuery eklentisinin çalışan bir örneğini gösterebilir mi? Çalışmasını sağlamakta sorunlar yaşıyorum ...
Veya, çapraz tarayıcıda çalışacak daha iyi alternatifler bilen var mı?
Cevaplardan sonra güncelleme :
Yanıtlar için herkese teşekkürler! Burada yayınlanan kodu denedim: http://webreflection.blogspot.com/2009/01/internet-explorer-object-watch.html
Ama IE ile çalışmasını sağlayamadım. Aşağıdaki kod Firefox'ta iyi çalışıyor, ancak IE'de hiçbir şey yapmıyor. Firefox'ta her watcher.status
değiştirildiğinde, document.write()
in watcher.watch()
çağrılır ve çıktıyı sayfada görebilirsiniz. IE'de bu olmaz, ancak bunun watcher.status
değeri güncellediğini görebiliyorum , çünkü son document.write()
çağrı doğru değeri gösteriyor (hem IE hem de FF'de). Ancak, geri arama işlevi çağrılmazsa, bu biraz anlamsız ... :)
Bir şey mi kaçırıyorum?
var options = {'status': 'no status'},
watcher = createWatcher(options);
watcher.watch("status", function(prop, oldValue, newValue) {
document.write("old: " + oldValue + ", new: " + newValue + "<br>");
return newValue;
});
watcher.status = 'asdf';
watcher.status = '1234';
document.write(watcher.status + "<br>");