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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Обработчик события 
:(
    Опции темы
fullmoon
Дата 27.8.2009, 12:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 27.8.2009

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



Подскажите как передать параметры в обработчик события динамически создаваемого компонента

function dosomething(e){
...
}


var button=document.createElement("input");
button.type="button";
button.onclick="dosomething(event)";

не работает

button.setAttribute("onclick", "dosomething(event)");

не работает

что делать smile 
PM MAIL   Вверх
Amphiluke
Дата 27.8.2009, 13:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


   ☽
***


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

Репутация: 39
Всего: 112



Какие параметры-то передать?
Код
function dosomething(e){
}

var button=document.createElement("input");
button.type="button";
if (button.addEventListener) {
    button.addEventListener("click", dosomething, false);
} else {
    button.attachEvent("onclick", dosomething);
}

Если так, то экземпляр объекта Event передается автоматически.
PM   Вверх
skyboy
Дата 27.8.2009, 13:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 3
Всего: 260



если же речь о более обобщенном случае, а не только о Event, то передать данные в обработчик можно при помощи замыкания:
Код

function some(arg1, arg2)
{
}

....
var fakeListener = function() {some('1', '2');}
if (button.addEventListener) {
    button.addEventListener("click", fakeListener, false);
} else {
    button.attachEvent("onclick", fakeListener);
}

Таким вот кодом будет привязан обработчик с передачей в него параметров "1" и "2" при вызове.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: для новичков | Следующая тема »


 




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


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

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