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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Определить нажатие кнопки Enter, в IE и Mozilla 
:(
    Опции темы
Black
Дата 16.12.2004, 21:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Web-Development
**


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

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



Необходимо выполнить определенные действия, если пользователь нажмет кнопку Enter.

Привидите пример работающий и для IE и для Mozilla
Заранее спасибо (под IE я могу сделать, а вот как под Mozilly без понятий???)


--------------------
Могу все, но ничего не умею :-)
PM WWW   Вверх
sergejzr
Дата 16.12.2004, 22:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

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



Так должно пойти :
Код
event.keyCode==13



--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
sergejzr
Дата 16.12.2004, 22:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

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



Тема перенесена в форум для начинающих.


--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
Sardar
Дата 16.12.2004, 23:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


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

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



Что бы остановить дефолтное действие вызови event.preventDefault() в коде.

Кстати sergej.z измени translit_only.js(строка 2) ev.prevDefault() на ev.preventDefault(), а то задолбали ошибки мозиллы.


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


Web-Development
**


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

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



Цитата
event.keyCode==13

это я и сам понимаю, однако в Мозилле там как-то по-особенному надо получить значение переменной, т.е. в функцию надо что-то передать, чтобы обнаруживалась event.keyCode, а просто так выдает ошибку: event is not defined.

Браузер которым смотрю страницу Mozilla Firefox 1.0RC1


--------------------
Могу все, но ничего не умею :-)
PM WWW   Вверх
sergejzr
Дата 16.12.2004, 23:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

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



А функцию можно показать? И элемент, который ловит событие...

Sardar
Да я вообще уже новый скрипт подготовил. Сам знаешь, времени нет smile Эта ошибка меня самого задолбала....


--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
Black
Дата 17.12.2004, 00:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Web-Development
**


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

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



Код

<script>
function x(e){
e = e || window.Event || window.event;
alert(e.which);
if (e.which==13) { alert('Неужели');
else { alert('Блин'); }
return false;
} }

if (window.captureEvents){
window.captureEvents(event.KeyPress);
window.onkeydown = x;
}
else {
document.onkeydown = x;
}
}
</script>


Блин почему не работает???


--------------------
Могу все, но ничего не умею :-)
PM WWW   Вверх
sergejzr
Дата 17.12.2004, 00:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

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



Попробуй не e.which , а e.keyCode.


--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
Black
Дата 17.12.2004, 00:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Web-Development
**


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

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



нет, не помогает alert выдает сообщение alert(e.which) и так alert(e.keyCode): undefined

Мне кажется что проблема где-то здесь:
Код


if (window.captureEvents){
window.captureEvents(event.KeyPress);
window.onkeydown = x;
}
else {
document.onkeydown = x;
}


а именно в KeyPress и onkeydown


--------------------
Могу все, но ничего не умею :-)
PM WWW   Вверх
sergejzr
Дата 17.12.2004, 00:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

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



Да нет, просто убери эту строку:

Код

e = e || window.Event || window.event;


В функцию ведь и так правильный Ивент приходит smile



--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
Black
Дата 17.12.2004, 01:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Web-Development
**


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

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



ок! А как теперь повесить это событие, чтобы следило только за определенным полем в форме, а не за всеми нажатиями кнопок на странице???


--------------------
Могу все, но ничего не умею :-)
PM WWW   Вверх
sergejzr
Дата 17.12.2004, 01:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

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



Вот, я сделал ссылочку smile Там и код есть. С textarea smile
http://files.vingrad.ru/sergej.z/js/enter.html
Добавлено @ 01:21
Код

<html>
<body>
 <script>
  function x(e)
  {
   code=e.keyCode?e.keyCode: window.Event.keyCode
   alert(e.keyCode);
   if (e.keyCode==13)
   { alert('Неужели');}
   else { alert('Блин'); }
   return false;
  }
  //document.onkeydown=x;
 </script>
 <textarea onkeydown="x(event);"></textarea>
</body>
</html>




--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
Aliance
Дата 21.12.2004, 18:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

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



Вот рабочий код под W3C:
Код

function enter(evt) {
  evt = (evt) ? evt : ((window.event) ? event : null);
  var charCode = (evt.charCode) ? evt.charCode : ((evt.which) ? evt.which : evt.keyCode);
  if (charCode == 13) {
     // операторы, выполняющиеся при нажатии Enter
  }
}

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


 




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


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

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