За последние 24 часа нас посетили 18797 программистов и 1614 роботов. Сейчас ищут 958 программистов ...

Ожидание окончания ввода

Тема в разделе "JavaScript и AJAX", создана пользователем Vantedur, 14 мар 2011.

  1. Vantedur

    Vantedur Активный пользователь

    С нами с:
    9 июл 2010
    Сообщения:
    779
    Симпатии:
    2
    Пишу интерактивный срипт, и хочу уменьшить число запросов. ну то-есть хочу создать внутренние часики которые будут ждать допустим секунду, и после секундной паузы будут отсылать запрос.

    если ещё подробнее то, юзер печатает текст, но он может одновременно послать в итоге очень много запросов, а я хочу чтобы отправлялся запрос серваку после того как он набал символы.
    Ну в смысле, набирая текст он может на секунду приостановится и посмотреть что выдаёт сервак по его запросу.
     
  2. Shumomer

    Shumomer Активный пользователь

    С нами с:
    12 мар 2011
    Сообщения:
    194
    Симпатии:
    1
    Адрес:
    из вашего вображения
    На onChange вешаешь функцию которая создает таймер setTimeout на секунду и убивает предыдущий через clearTimeout.
    Если таймер сработал - значит юзверь ничего секунду не вводил - срабатывает функция прописанная в таймере.
     
  3. MiksIr

    MiksIr Активный пользователь

    С нами с:
    29 ноя 2006
    Сообщения:
    2.339
    Симпатии:
    44
    Только не на onChange, а на onkeyup
     
  4. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    Vantedur
    юзай родной автокомплит жукувериский. там пауза задается.
     
  5. Vantedur

    Vantedur Активный пользователь

    С нами с:
    9 июл 2010
    Сообщения:
    779
    Симпатии:
    2
    Сеньки, про то что в автокомплите пауза задаётся ты чётко напомнил, clearTimeout + setTimeout тож не плохой вариант, интересно а что будет меньше браузер грузить, куча таймаутов или один большой автокомплит?
     
  6. Vantedur

    Vantedur Активный пользователь

    С нами с:
    9 июл 2010
    Сообщения:
    779
    Симпатии:
    2
    а есть способ убить все запущенные таймауты?
     
  7. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    перезагрузить страницу? =) что ты там изобретаешь?
     
  8. Vantedur

    Vantedur Активный пользователь

    С нами с:
    9 июл 2010
    Сообщения:
    779
    Симпатии:
    2
    вообще хочу сделать пластичный оупен сурс движок, который смогут юзать юзеры, и на его базе создать магаз модулей =)
     
  9. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    я имел в виду топик >_>
     
  10. Vantedur

    Vantedur Активный пользователь

    С нами с:
    9 июл 2010
    Сообщения:
    779
    Симпатии:
    2
    топика нету так как я считаю что не обладаю достаточным объмом данных для выпуска качественного оупенсурс движка, а вообще как только сделаю, сразу покажу в помойке онный продукт.

    Ну не охота выпускать на свет продукт в котором может проскочить говнокод =)
     
  11. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    тогда он не выйдет никогда. Это неправильная позиция. Надо вывалить сразу и допиливать по-живому.
     
  12. Vantedur

    Vantedur Активный пользователь

    С нами с:
    9 июл 2010
    Сообщения:
    779
    Симпатии:
    2