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

Alamogoro 10.07.2012 15:11

Проблема с onkeypress
 
Привет всем.

Столкнулся в сайте с такой проблемой. Есть текстовое input поле, в которое вводится название материала. Вручную его отредактировать возможности нет, но нужно сделать так, чтобы при вводе каждой буквы (onkeypress) срабатывала функция loadCheck();

Как это осуществить с помощью скрипта, если известно id поля = "nwF1"
:help: :(

Deff 10.07.2012 15:36

на jQuery можно реализовать так
<script type="text/javascript" src="http://yandex.st/jquery/1.4.4/jquery.min.js"></script>

<input id="nwF1" type=text />


<script>
 var TxtLength=0;

$("#nwF1").bind('mouseout mousemove keydown keypress keyup',function(e){

    var ThisLength=$(this).val().length;
    var Delta=ThisLength-TxtLength;
    var DeltaQadr = Delta*Delta;
    if(DeltaQadr){
         TxtLength=ThisLength;alert("Строка изменилась")
         //loadCheck(); //Вызов чего-то
    }
})
</script>

Alamogoro 10.07.2012 15:42

Спасибо большое! Реализовал! )

Drimogemon 10.07.2012 16:11

<input type="text" id="nwF1">

<script>
document.querySelector('#nwF1').addEventListener( 'input', function(){
  alert( this.value )
});
</script>

bes 10.07.2012 17:54

<div id="div"></div>
<input id="inp">

<script>
window.onload = function () {
var div = document.getElementById('div');
var inp = document.getElementById('inp');

 inp.onkeyup = function () {
    div.innerHTML = inp.value;
  }
}
</script>

Deff 10.07.2012 18:07

bes,
вставка - удаление символов может быть и по правой кнопке мыши - что и в итоге приводит либо к длиннокоду на jQuery либо к EventListener

Drimogemon 10.07.2012 18:15

Deff,
вот правильный вариант)))))))
http://javascript.ru/forum/187769-post4.html

bes 10.07.2012 18:16

Deff, не совсем понял, о чём идёт речь в данной ситуации, но обработчик onkeyup позволяет сразу использовать всё введённое в input содержимое в отличие от обработчика onkeypress, который не может задействовать последний введённый символ.

Drimogemon 10.07.2012 18:17

bes,
если я вставлю правой кнопкой мышки текст из буфера событие не сработает.

Deff 10.07.2012 18:23

bes,
Вставь или удали часть слова по правой кнопки мыши в своём примере (или блокируй её у пользователя (мну без наезда, - просто приходицо собак есть из-за начальства


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