2011-02-14 4 views
1

변수에 eventlisteners를 첨부하는 방법이 있는지 궁금합니다. 의 somevar 즉의 somevar = 1로 변경되면 변수에 자바 스크립트 이벤트 수신기를 연결하는 이론?

someVar.addEventListener('change', someTodo, false); 

그래서, someTodo이 실행된다 : 아이디어는 같은 것을 할 것입니다.

DOMList의 모든 요소에 eventlisteners를 추가 할 수 있습니다. HTML 객체가 트리거하는 동안 변수가 이벤트를 트리거하지 않는 것이 문제입니다. 이것이 사실이라면 확장 질문은 다음과 같습니다. DOM 객체를 조정하여 이벤트를 트리거하는 방법은 무엇입니까? 프로토 타이핑에 대해 읽은 적이 있는데, 그 트릭이 여기 있습니까?

참고 : 저는 모든 코드를 직접 읽고 이해하고 싶습니다. 그래서보다는 기적의 모든 종류가 오른쪽 구워 jQuery를, 같은 몇 가지 기존의 것을 사용하여 이론에 관심이있을 것입니다.

마르코

+0

중복 : http://stackoverflow.com/questions/1029241/javascript-object-watch-for-all-browsers – kirilloid

+1

이 질문에 대한 대답 : [StackOverflow-4989337 (http://stackoverflow.com/ 질문/1759987/detect-variable-change-in-javascript) – Ryan

답변

0

테스트 된 안전하고 시간이 접근 방식에 대한 getter 및 setter를 사용하는 것입니다 (즉, getX()/setX()와 같은 객체 메소드를 통해서만 변수에 접근 할 수 있습니다). 그런 다음 콜백을 트리거하기 위해 setX()를 오버로드 할 수 있습니다. 루아 (Lua)와 파이썬 (Python)과 같이 객체의 멤버에 대한 액세스가 메타 함수로 잡힐 수있는 언어가 있지만 Javascript가이를 지원하지 않는다고합니다.

+0

아니요, 자바 스크립트도이 작업을 수행 할 수 있습니다. http://ejohn.org/blog/javascript-getters-and-setters/ – MatrixFrog

+0

브라우저 지원이 제한적인 비표준 기능입니다. – SpliFF