Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Проблема с onkeypress (https://javascript.ru/forum/misc/29764-problema-s-onkeypress.html)

Deff 10.07.2012 18:26

Drimogemon,
В приципе в Варианте от bes - достаточно добавить onfocus
Cоврал - onfocus - недостаточно

Drimogemon 10.07.2012 18:51

ребят, вы что поехавшие? я же показал вам как делать о чем речь вообще?
какие фокусы какие кейпрессы!! че вы несете вообще? или "нубы советуют нубам"?

Deff 10.07.2012 18:59

Drimogemon,
Ну дык твой Вариант уже оценили - есть интерес свой Вариант довести... чо как будто сам себя не заешь, свой говнокод завсегда ближе к телу, не смотря на рубашки от Версаче

bes 10.07.2012 18:59

можно onchange или onblur, сработает при потере фокуса

Цитата:

Сообщение от Drimogemon
ребят, вы что поехавшие? я же показал вам как делать о чем речь вообще?
какие фокусы какие кейпрессы!! че вы несете вообще? или "нубы советуют нубам"?

В своём репертуаре:), ничего, что пока ещё есть IE<9

devote 10.07.2012 19:09

для этих целей и было введено событие oninput которое срабатывает при любом изменении поля ввода, будь то хоть мышь, будь то хоть клава.
A для старых браузеров таких как ИЕ можно юзать так:
<!DOCTYPE html>
<html>
	<head>
		<script>
			function onInput( elem, callback ) {
			    if ( elem.addEventListener ) {
					if ( "oninput" in elem ) {
				        // для HTML5 браузеров
				        elem.addEventListener( 'input', callback, false );
					} else {
				        // для HTML4 браузеров
				        elem.addEventListener( 'keyup', callback, false );
					}
			    } else if ( elem.attachEvent ) {
			        // для ИЕ < 9
			        elem.attachEvent( 'onkeyup', function() {
						callback.call( elem, window.event );
					});
			        elem.attachEvent( 'onpaste', function() {
						setTimeout( function() {
							callback.call( elem, window.event );
						}, 1);
					});
			    }
			}

			window.onload = function() {
				onInput( document.getElementById('nwF1'), function() {
					alert( this.value );
				});
			}
		</script>
	</head>
	<body>
		<input type="text" id="nwF1">
	</body>
</html>

bes 10.07.2012 19:23

devote, о том и речь, что проще: сделать кроссбраузерный addEventListener или навесить лишний обработчик, например, onchange или onblur (элемент фокус всё равно рано или поздно потеряет)

Deff 10.07.2012 19:39

:cray: У devote, зачетный код походу, своё так и не найду -
- нашел - при фокусе тупо setInterval

Drimogemon 10.07.2012 20:03

Цитата:

Сообщение от devote
для этих целей и было введено событие oninput которое срабатывает при любом изменении поля ввода, будь то хоть мышь, будь то хоть клава.

воот, бро пришел))


Часовой пояс GMT +3, время: 01:34.