Новички, изучающие JS, могут получить анализ своего понимания объектно-ориентированной природы JavaScript. Друзья, которым необходимо изучить JS, могут обратиться к нему. Скопируйте код кода следующим образом:
вар obj = document.getElementById(имя);
функция clickMe() {
оповещение(это.значение);
this.value += !!!!;
оповещение(это.значение);
}
var ActionBinder = function() {//Определить класс
}
ActionBinder.prototype.registerDOM = функция(doms) {
this.doms = doms;//Зарегистрировать домены
}
ActionBinder.prototype.registerAction = функция (обработчики) {
this.handlers = handlers;//Регистрируем действие
}
ActionBinder.prototype.bind = функция() {
this.doms.onclick = this.handlers
}//Зарегистрировать действие домена
varbinder = new ActionBinder();//Создаем новый класс по методу ActionBinder
связыватель.registerDOM(объект);
связыватель.registerAction(clickMe);
связыватель.bind();
Начнем с фрагмента объектно-ориентированного кода, написанного на js. Сначала создайте класс ActionBinder. Метод написания также похож на java, поскольку js основан на объекте dom html для управления содержимым html. RegisterDOM, чтобы зарегистрировать dom в классе, используйте pr. ototype прототипирует метод для простого вызова; кроме того, добавляется метод регистрации событий, RegisterAction, который также прототипируется с использованием метода прототипа, наконец, для связывания зарегистрированного dom и зарегистрированных событий; выполнять.
Вот исходный фрагмент кода JS:
Код
Скопируйте код кода следующим образом:
<тело>
<скрипт>
document.onload= функция(){
вар obj = document.getElementById(имя);
obj.onclick = function(){alert(this.value);}
}
</скрипт>
<тип ввода=текстовый идентификатор=имя />
</тело>
Код также достигает желаемого эффекта. Для некоторых простых приложений вышеупомянутый эффект может быть достигнут, но для некоторых более сложных программ его сложнее применять, а код более громоздкий для написания, например, фрагментов кода;
Код
Скопируйте код кода следующим образом:
<тело>
<скрипт>
document.onload= функция(){
obj1 = document.getElementById(name1);
obj2 = document.getElementById(name2);
obj3 = document.getElementById(name3);
obj1.onclick = function(){alert(this.value);}
obj2.onclick = function(){alert(this.value);}
obj3.onclick = function(){alert(this.value);}
}
</скрипт>
<тип ввода=текст id=имя1 значение=111 />
<тип ввода=текст id=имя2 значение=222 />
<тип ввода=текст id=имя3 значение=333 />
</тело>
или
Код
Скопируйте код кода следующим образом:
<тело>
<скрипт>
функция clickMe(){alert(this.value);}
</скрипт>
<тип ввода=текст id=имя1 значение=111 onclick=return clickMe() />
<тип ввода=текст id=имя2 значение=222 onclick=return clickMe() />
<тип ввода=текст id=имя3 значение=333 onclick=return clickMe() />
</тело>
Конечно, есть и другие, более простые способы написания двух приведенных выше фрагментов кода, но в целом избыточного кода все равно остается много.
Более гибко писать объектно-ориентированным методом, например
Код
Скопируйте код кода следующим образом:
<тело>
<скрипт>
window.onload = функция() {
вар objs = document.getElementsByTagName(input);
функция clickMe() {
оповещение(это.значение);
}
var ActionBinder = function() {//Определить класс
}
ActionBinder.prototype.registerDOM = функция(doms) {
this.doms = doms;//Зарегистрировать домены
}
ActionBinder.prototype.registerAction = функция (обработчики) {
this.handlers = handlers;//Регистрируем действие
}
ActionBinder.prototype.bind = функция() {
this.doms.onclick = this.handlers
}//Зарегистрировать действие домена
for (var i=0;i<objs.length;i++){
varbinder = new ActionBinder();//Создаем новый класс по методу ActionBinder
связыватель.registerDOM(objs[i]);
связыватель.registerAction(clickMe);
связыватель.bind();
};
}
</скрипт>
<тип ввода=текстовый идентификатор=значение имени=111/>
<тип ввода=текст id=имя1 значение=222/>
<тип ввода=текст id=имя2 значение=333/>
</тело>
Таким образом, не будет лишнего кода, и логика js будет относительно понятной. Необходимо изучить привязку нескольких событий.