โปรดทราบว่าObject.Watch
และObject.Observe
ทั้งสองเลิกใช้งานแล้วในขณะนี้ (ณ มิ.ย. 2018)
ฉันกำลังมองหาวิธีง่ายๆในการตรวจสอบวัตถุหรือตัวแปรสำหรับการเปลี่ยนแปลงและพบObject.watch()
ว่ามันรองรับในเบราว์เซอร์ Mozilla แต่ไม่ใช่ IE ฉันจึงเริ่มค้นหารอบ ๆ เพื่อดูว่ามีใครเขียนเทียบเท่ากันบ้าง
เกี่ยวกับสิ่งเดียวที่ฉันพบคือปลั๊กอิน jQueryแต่ฉันไม่แน่ใจว่านั่นเป็นวิธีที่ดีที่สุดหรือไม่ แน่นอนว่าฉันใช้ jQuery ในโครงการส่วนใหญ่ของฉันดังนั้นฉันจึงไม่กังวลเกี่ยวกับแง่มุมของ jQuery ...
อย่างไรก็ตามคำถาม: ใครช่วยแสดงตัวอย่างการทำงานของปลั๊กอิน jQuery ให้ฉันดูได้ไหม ฉันมีปัญหาในการทำงาน ...
หรือมีใครรู้ทางเลือกอื่นที่ดีกว่าที่จะทำงานข้ามเบราว์เซอร์ได้บ้าง?
อัปเดตหลังคำตอบ :
ขอบคุณทุกคนสำหรับคำตอบ! ฉันลองใช้รหัสที่โพสต์ที่นี่: http://webreflection.blogspot.com/2009/01/internet-explorer-object-watch.html
แต่ดูเหมือนว่าฉันจะทำให้มันใช้งานกับ IE ไม่ได้ โค้ดด้านล่างทำงานได้ดีใน Firefox แต่ไม่ทำอะไรเลยใน IE ใน Firefox ในแต่ละครั้งที่watcher.status
มีการเปลี่ยนแปลงdocument.write()
ในwatcher.watch()
ที่เรียกว่าและคุณสามารถเห็นผลลัพธ์บนหน้าเว็บ ใน IE ไม่เกิดขึ้น แต่ฉันเห็นว่าwatcher.status
กำลังอัปเดตค่าเนื่องจากการdocument.write()
เรียกครั้งสุดท้ายแสดงค่าที่ถูกต้อง (ทั้งใน IE และ FF) แต่ถ้าไม่ได้เรียกใช้ฟังก์ชันเรียกกลับแสดงว่าไม่มีจุดหมาย ... :)
ฉันพลาดอะไรไปรึเปล่า?
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>");