Harap diperhatikan bahwa Object.Watch
dan Object.Observe
keduanya sudah tidak digunakan lagi sekarang (mulai Jun 2018).
Saya sedang mencari cara mudah untuk memonitor objek atau variabel untuk perubahan, dan saya menemukan Object.watch()
, itu didukung di browser Mozilla, tetapi tidak di IE. Jadi saya mulai mencari di sekitar untuk melihat apakah ada yang telah menulis semacam padanan.
Tentang satu-satunya hal yang saya temukan adalah plugin jQuery , tetapi saya tidak yakin apakah itu cara terbaik untuk melakukannya. Saya pasti menggunakan jQuery di sebagian besar proyek saya, jadi saya tidak khawatir tentang aspek jQuery ...
Bagaimanapun, pertanyaannya: Bisakah seseorang menunjukkan kepada saya contoh kerja plugin jQuery itu? Saya mengalami masalah dalam membuatnya bekerja ...
Atau, apakah ada yang tahu tentang alternatif yang lebih baik yang akan bekerja lintas browser?
Perbarui setelah jawaban :
Terima kasih semuanya atas tanggapannya! Saya mencoba kode yang diposting di sini: http://webreflection.blogspot.com/2009/01/internet-explorer-object-watch.html
Tapi sepertinya saya tidak bisa membuatnya bekerja dengan IE. Kode di bawah berfungsi dengan baik di Firefox, tetapi tidak melakukan apa pun di IE. Di Firefox, setiap kali watcher.status
diubah, document.write()
in watcher.watch()
dipanggil dan Anda dapat melihat hasilnya di halaman. Di IE, itu tidak terjadi, tetapi saya dapat melihat itu watcher.status
memperbarui nilai, karena document.write()
panggilan terakhir menunjukkan nilai yang benar (di IE dan FF). Tapi, jika fungsi callback tidak dipanggil, maka itu tidak ada gunanya ... :)
Apakah saya melewatkan sesuatu?
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>");