Создайте свойство javascript, например свойство С#
Можно ли создать свойство в объекте javascript, который ведет себя аналогично свойству в С#.
Пример:
Я создал виджет с автоматической настройкой textarea, используя dojo. Чтобы получить свойство "value" из моего виджета, я подключился к событию onchange, и я устанавливаю переменную каждый раз, когда изменяется значение textarea.
Есть ли способ выполнить это, не подключаясь к событию onchange.
Изменить
Другими словами, можно ли что-то написать в JavaScript, который ведет себя как геттеры и/или сеттеры.
Ответы
Ответ 1
В реализациях ECMAScript 5 можно включить последние версии всех основных браузеров. Спецификация ECMAScript 5 добавляет стандартизированные геттеры и сеттеры. Одна из особенностей заключается в том, что IE 8 имеет эту функцию, но только на узлах DOM. Вот как выглядит синтаксис:
var obj = {};
Object.defineProperty(obj, "value", {
get: function () {
return this.val;
},
set: function(val) {
this.val = val;
}
});
В Mozilla уже давно реализована собственная реализация геттеров и сеттеров, которая также была позже принята WebKit и Opera, но это не доступно в IE.
Ответ 2
Я не уверен, что вы спрашиваете здесь. Вы всегда можете получить значение текстового поля без события onchange. вам нужно будет получить объект, а затем посмотреть на свойство value.
например, если ваш textarea имеет id = "mytext", вы можете сделать
var mytextarea = document.getElementById("mytext");
var text = mytextarea.value;