Модераторы: Sardar, Aliance

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Метод обьекта как обработчик события 
:(
    Опции темы
Sardar
Дата 6.6.2006, 14:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 78
Всего: 317



Можно так, хотя не "как следовало бы на JS":
Код
function editForm(dict, parent){
    this.dict = dict;
    this.container = document.createElement('DIV');
    this.container.style.border= 'solid red 1pt';
    document.body.appendChild(this.container);

    this.parent = parent && parent.tagName? parent: document.getElementById(parent);
    if (this.parent == null) throw 'Invalid parent';

    //как у тебя ошибки не вылетают при добавлении таблицы вёрсткой... шаман :)
    //.....

   //допустим уже обьекты созданы и ссылки есть, если создавать их DOM'ом, то париться с идентификаторами не нужно.
    var slf = this;
    bOkId.onclick = function (){slf.Submit()};
    bCancelId.onclick = function(){slf.Close()};
}

editForm.prototype.Close = function() {
}

editForm.prototype.Submit = function(){
 alert(this.dict);
}

 


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
12345c
Дата 6.6.2006, 16:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Круглый
****


Профиль
Группа: Vingrad developer
Сообщений: 2018
Регистрация: 26.12.2005
Где: наша не пропадала ?

Репутация: 57
Всего: 101



solenko, вопрос такой, что для того, чтоб пояснить, надо поднять все эти свойства и примеры. Со своим примером будет лучше. Могу успокоить, что сложнее этого в JS только модель событий smile. 
PM WWW   Вверх
solenko
Дата 6.6.2006, 22:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1473
Регистрация: 15.1.2006
Где: Украина

Репутация: 9
Всего: 67



Sardar, огромное спасибо. Все работает прекрастно. Но хочется еще понаглеть и запросить объяснение:
Зачем использовать переменную slf? почему нельзя напрямую указать this? 


--------------------
Ла-ла-ла-ла
Заметьте, нет официального подтверждения, что это не просто четыре слога.
PM MAIL WWW ICQ Skype   Вверх
Sardar
Дата 7.6.2006, 01:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 78
Всего: 317



Цитата(solenko @  6.6.2006,  21:16 Найти цитируемый пост)
Зачем использовать переменную slf? почему нельзя напрямую указать this?  

Цитата(Sardar @  6.6.2006,  12:30 Найти цитируемый пост)
Как уже неоднократно говорилось this у каждой функции свой и являеться обьектом на ком вызвали функцию.

В прямом смысле, любую функцию (метод или замыкание в slot'e обьекта ка это правильней) можно вызвать на любом обьекте, поэтому в JS (как и принято в прототипных языках) нет методов обьектов как таковых, просто "случайно" обьект владеет функцией в одном из его полей.  Читай посты внимательно. Также стоит пробежаться по закреплённым темам, эти вещи разжёвывались не раз. 


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0536 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.