Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 03.08.2012, 20:01
Новичок на форуме
Отправить личное сообщение для inslide Посмотреть профиль Найти все сообщения от inslide
 
Регистрация: 30.07.2012
Сообщений: 6

Не могу передать event в функцию-обработчик
function d(event)
{
	alert(typeof(event));
}

var h = document.getElementById('h');
h.onkeypress = d(event);


alert() вылетает с типом "undefined". Почему объект события не передаётся?
Ответить с цитированием
  #2 (permalink)  
Старый 03.08.2012, 20:12
Аватар для vadim5june
Студент
Отправить личное сообщение для vadim5june Посмотреть профиль Найти все сообщения от vadim5june
 
Регистрация: 30.04.2012
Сообщений: 1,113

<input id=h>
<script>function d(event)
{alert(typeof(event));
};
var h = document.getElementById('h');
h.onkeypress = d;
</script>
Ответить с цитированием
  #3 (permalink)  
Старый 03.08.2012, 20:20
Новичок на форуме
Отправить личное сообщение для inslide Посмотреть профиль Найти все сообщения от inslide
 
Регистрация: 30.07.2012
Сообщений: 6

Оказывается, дело было в том, что я подгружал js раньше момента, где определял input. Когда поменял местами, всё стало хорошо:
<input id = "h" type = "text">
<script src = "popup.js"></script>

Странно, разве иначе работать не должно? Всегда что ли нужно подгружать js после html?
Ответить с цитированием
  #4 (permalink)  
Старый 03.08.2012, 20:25
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

Сообщение от inslide
Всегда что ли нужно подгружать js после html?
для этого нужно вешать свои скрипты на события загрузки DOM дерева.
__________________
хм Russians say завтра but завтра doesn't mean "tomorrow" it just means "not today."
HTML5 history API рассширение для браузеров не поддерживающих pushState, replaceState
QSA CSS3 Selector Engine
Ответить с цитированием
  #5 (permalink)  
Старый 03.08.2012, 20:26
Аватар для vadim5june
Студент
Отправить личное сообщение для vadim5june Посмотреть профиль Найти все сообщения от vadim5june
 
Регистрация: 30.04.2012
Сообщений: 1,113

у Вас и h.onkeypress = d(event);
тоже неправильно присваивалась-должна быть функция
------
если подгружаете раньше то нужно так
function d(event)
{alert(typeof(event));
};
window.onload=function(){var h = document.getElementById('h');
h.onkeypress = d;
}
Ответить с цитированием
  #6 (permalink)  
Старый 03.08.2012, 20:55
Новичок на форуме
Отправить личное сообщение для inslide Посмотреть профиль Найти все сообщения от inslide
 
Регистрация: 30.07.2012
Сообщений: 6

Можете подсказать подробнее, в чём разница между d, d() И d(event) при присваивании событию?

Последний раз редактировалось inslide, 03.08.2012 в 20:57.
Ответить с цитированием
  #7 (permalink)  
Старый 03.08.2012, 20:58
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

Сообщение от inslide
в чём разница между d, d() И d(event) при присваивании событию?
d - ссылка на функцию
d() - стразу же вызывает функцию
d(event) - стразу же вызывает функцию и передает аргумент event
__________________
хм Russians say завтра but завтра doesn't mean "tomorrow" it just means "not today."
HTML5 history API рассширение для браузеров не поддерживающих pushState, replaceState
QSA CSS3 Selector Engine
Ответить с цитированием
  #8 (permalink)  
Старый 03.08.2012, 21:09
Новичок на форуме
Отправить личное сообщение для inslide Посмотреть профиль Найти все сообщения от inslide
 
Регистрация: 30.07.2012
Сообщений: 6

Спасибо) Кармой сейчас не смог выразить.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Flot Как передать переменную в функцию отрисовки точки на графике Ren jQuery 0 20.06.2012 14:16
Не могу передать переменную frundik AJAX и COMET 17 23.05.2012 18:31
Не могу передать переменную frundik Общие вопросы Javascript 1 23.05.2012 12:38
Как передать переменную в функцию с помощью JQuery??? Иван Я Events/DOM/Window 3 20.01.2012 11:21
setInterval как передать переменную в функцию kamushek Общие вопросы Javascript 6 02.09.2011 23:53