powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Отключить действие в событии по-умолчанию
4 сообщений из 4, страница 1 из 1
Отключить действие в событии по-умолчанию
    #38465537
taaamerlan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дико извиняюсь, но в первый раз тему создал не в том разделе форума, ибо, возможно, не понял проблему. Вот тема, с кодом.
http://www.sql.ru/forum/1059284/otkluchit-servernuu-obrabotku-sobytiya-na-input-e
...
Рейтинг: 0 / 0
Отключить действие в событии по-умолчанию
    #38465642
Фотография asws
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
taaamerlan,

.preventDefault() отменяет действие браузера по-умолчанию,
но не останавливает всплывание события по иерархии родителей (для формы код 13 означает submit).
.stopPropagation() - отменяет всплывание события.

Попробуйте так: 15101694
...
Рейтинг: 0 / 0
Отключить действие в событии по-умолчанию
    #38465810
Фотография asws
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
taaamerlan,

подробнее посмотрел, заодно повнимательней глянул ещё раз на ваш код ( 15130603 ) :

1. if (eventObject.which = 13) - вместо == стоит =
2. В каком браузере поверяли ?
- IE8 вроде не понимает .which, лучше .keyCode
- опять-же для IE может быть нужно .returnValue=false (если на чистом JS без библиотек)
3. Не забывайте точку с запятой после каждой инструкции (вдруг JS-код преобразуется в одну строку).

а так всё должно работать одинаково в разных браузерах, вот пример, потестируйте сами.
Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
<!DOCTYPE html >	
<html>
<head>
<script>
function myNOP(e) {
  e=e||window.event; // alert(e.which + '\n' + e.keyCode);
  if(e.keyCode == 13) {
//    e.stopPropagation ? e.stopPropagation() : (e.cancelBubble=true);
    e.preventDefault ? e.preventDefault() : (e.returnValue=false);
//    return false;
  }
}
</script>
</head>
<body>
<form action="" method="POST" onsubmit="alert('submit')">
<input type="text" value="test" onkeypress="myNOP(event)"/>
<input type="submit" value="submit" />
</form>
</body>
</html>
...
Рейтинг: 0 / 0
Отключить действие в событии по-умолчанию
    #38465823
Фотография asws
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Поищите ошибку по цепочке вызовов обработки события "keypress", дело явно в вашем JS-коде.

Вот ещё пример с навешиванием обработчика через JS, кроссбраузерно, всё работает.
Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
<!DOCTYPE html >	
<html>
<head>
<script>
function myOnload() {
	var p=document.getElementById('id1');
	if (p.addEventListener) p.addEventListener('keypress', myNOP, false);
	else if (p.attachEvent) p.attachEvent('onkeypress',myNOP);
}
function myNOP(e) {
  e=e||window.event; // alert(e.which + '\n' + e.keyCode);
  if(e.keyCode == 13) {
//    e.stopPropagation ? e.stopPropagation() : (e.cancelBubble=true);
    e.preventDefault ? e.preventDefault() : (e.returnValue=false);
//    return false;
  }
}
</script>
</head>
<body onload="myOnload()">
<form action="" method="POST" onsubmit="alert('submit')">
<input id="id1" type="text" value="test" />
<input type="submit" value="submit" />
</form>
</body>
</html>
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Отключить действие в событии по-умолчанию
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]