событие при изменении значения переменной
Здравствуйте.
Необходимо выполнить функцию при изменении значения переменной. Существуют ли какие-нибудь события или другие реализации, позволяющие сделать это. Я попробовал написать функцию, но столкнулся с невозможностью в JS передать переменную по ссылке. Просьба упоминать о кроссбраузерных несовместимостях и способах их устранения. Заранее спасибо. |
Цитата:
Цитата:
|
Цитата:
var x=15;
x.onchange = function() {//вешаем обработчик
alert(this);
}
x = 64//и вот сейчас он (обработчик) должен сработать и вывести alert'ом 64
|
Поставите таймер, или привяжите свойство к таким методам как:
DOMAttributeNameChanged DOMAttrModified Т.е. свяжите эту переменную с атрибутом к.л. элемента, и когда переменная изменится то сработает событие, по нему уже легко двигаться дальше. |
|
Цитата:
|
DreamTheater,
большое спасибо, но как это применять к локальным переменным, то есть
function s() {
var x=12
//прослушка на x - как, свойством какого объекта он является?
}
s()
|
Цитата:
var x;
function setX(value) {
x = value;
fn();
}
|
Раед, никак. Можно отслеживать изменение только свойства объекта.
|
Цитата:
|
Вы уж простите меня, господа, но нафига оно надо вообще?
Цитата:
|
Ну сеттер и геттер то, что вам нужно, только их нету в ие.
|
Всем спасибо.
|
Попробуй вот это: https://github.com/DmitryTitov89/FLOSS
Библиотека как раз дает тебе возможность отслеживать и навешивать функции на изменения переменных. |
| Часовой пояс GMT +3, время: 11:02. |