| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > JavaScript: Применение библиотек > [jQuery]тонкости Event'a .change |
| Автор: DiMoN_TD 12.9.2008, 23:56 | ||
| Всем здрасте! Хочу задать вопрос: У меня ситуация такова, что мне нужно при любом изменении поля input делать перерасчет суммы (к примеру). Т.е. у меня примерно такая ситуация:
Вот. не смотрите на логику кода - в ней ее нет, но примерную проблему вы понимаете, да? Т.е. функция change не реагирует на то, что у меня меняется значение в input с именем name=elsename. Возможно есть другая функция для этого, если да, то какая? Если же можно решить эту проблему при помощь .change - то скажите как! Заранее спасибо! |
| Автор: Avb 15.9.2008, 14:49 |
| DiMoN_TD, событие change происходит когда 1. Поле получило фокус 2. Значение поля изменилось 3. Поле потеряло фокус Естесственно, пока поле не потеряет фокус onchange вызываться не будет. Можно использовать события клавиатуры (keypress или keyup. Для кроссбраузерности скорее всего второе. Надо затестить.). Но в таком случае ничего не произойдет, если значение изменено посредством вставки из clipboard с помощью мыши. В общем, наиболее простым и надежным методом является поставить проверку по таймауту (ну скажем каждые 100 мс). В prototype.js для этого есть класс http://prototypejs.org/api/timedObserver |
| Автор: Avb 15.9.2008, 15:35 |
| Для jQuery что-то подобное нашел в плагине http://plugins.jquery.com/project/form-observe Но нужно докручивать под себя |