Элементарный скрипт 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, время: 13:46. |