Дмитрий: "отслеживать изменение input поля через простое хранение предыдущего значения в переменной" Да для этого мне нужно будит прописать что то в форме я же хочу при вставке для этого нужен input иначе мне не нужно ничего сравнивать. Нужно вызвать какую то функцию только!! при изменении значения формы. А только при вводе с клавиатуры вызвать lookup.
в функции lookup массив из кодов клавиш на которые мы не реагируем при нажатии на остальные происходит запрос в базу данных откуда выбираются данные и предлагаются варианты на ввод пользователю (как в поиске google fb или других популярных сервисах), тут же если нажимается кнопка "стрелочка вверх, стрелочка вниз" мы листаем по списку предложенному пользователю как в google то есть отлавливаем нажатие 38 и 40 кнопок на клавиатуре. Если пользователь нажимает enter выполняем поиск если esc то убираем "предложенные варианты". Если я навешиваю событие oninput то оно будит выполнять запрос в базу данных + lookup будит выполнять запрос в бд = 2 запроса. А без keyup не обойтись ибо нужно выводить "предложенные варианты". В самом google когда то при вставке данных в форму поиска "предложенные варианты" пропадали и появлялась надпись ~"Нажмите ввод для поиска".
Да я видел уже этот пример но это не на чистом javascript. У меня вообще сложилось впечатление что люди разучились писать и стали линивыми свиньями. Поэтому они используют jquery и грузят разные плагины а не пишут от руки.
@Petroveg: Вы как то не понятно выражаетесь "$(element) ... вешает его на весь document — конечно нет". Вот я хочу разобраться как jquery это делает.
Вешает на весь документ?- тогда мне все понятно я разобрался уже.
Вешает на каонкретный элемент?-тогда мне не понятно как можно повесить событие на элемент которого еще не существует.
@Petroveg: как это ведь в случае с jquery я могу написать $(element) и меня как бы не интересовало как там jquery с этим разбирается (хотя я уже понимаю что наверняка он не навешивает на конкретный элемент событие а вешает его на весь document).
В случае же с javascript я увидел разные варианты document.onclick=function(event){// тут узнать через event все об этом элементе или document.addEventListener('click', function(event){// тут узнать через event
Вы сами говорите что я не владею вопросом. Проблема моя в том что я начал что то писать на jquery где все просто $(element) и ты можешь делать все что угодно. Когда же я захотел выйти за рамки jquery я понял что я абсолютно ничего не знаю в javascript не знаю основ а значит не знаю ничего. И поставил себе цель переписать все что было написано под jquery на native JavaScript