있음을 유의하시기 바랍니다 Object.Watch
그리고 Object.Observe
모두 (2018년 6월 현재) 현재 사용되지 않습니다.
개체 또는 변수의 변경 사항을 모니터링 할 수있는 쉬운 방법을 찾고 있었는데, 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()
in 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>");