Элементарный скрипт c this
Прочитал про this(не на этом сайте) ,пытаюсь сделать элементарный пример,но не работает
<script>
function a() {
this.value = "value2"
}
</script>
<input type="button" value="value1" onclick="a()">
Получается this-будет тот элемент в котором будет активирована функция,то есть this в ф-ии a() будет кнопка,тогда при её нажатии её value(value1) должен меняться на value2.Или я что-то не так понял? |
Цитата:
<input type="button" value="value1" onclick="a.call(this)">Но лучше, конечно, вынести этот момент из верстки: //Получаешь как-нибудь ссылку на DOM-элемент в переменную input и input.onclick = a; |
<script>
window.onload = function () {
// создадим объект changeValue
changeValue = {
init : function () {
this.val = "value2"; // новое значение
this.input = document.getElementsByTagName("input")[0];
this._addEvent();
},
_addEvent: function () {
// внутри события onclick через this мы не сможем увидить объект changeValue
// потому присваем переменной self текущее значение this-са
var self = this;
this.input.onclick = function () {
self.input.value = self.val;
}
}
}
changeValue.init();
}
</script>
<input type="button" value="value1">
|
| Часовой пояс GMT +3, время: 21:43. |