Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 06.08.2012, 13:01
Интересующийся
Отправить личное сообщение для makcstroi Посмотреть профиль Найти все сообщения от makcstroi
 
Регистрация: 19.05.2012
Сообщений: 14

простой вопрос
html:
<form>
    <textarea id="new_task" name="new_task" ></textarea>
</form>


java script (jquery):
function testStr(strLen) {
    if (strLen <= 0)                       flag = 0
    else if (strLen > 0 & strLen <= 249)   flag = 1
    else if (strLen >= 250 & strLen < 260) flag = 2
    else if (strLen >= 260 & strLen < 270) flag = 3
    else if (strLen >= 270 & strLen < 280) flag = 4
    else if (strLen >= 280 & strLen < 290) flag = 5
    else if (strLen >= 290 & strLen < 300) flag = 6
    else if (strLen >= 300)                flag = 7
    return flag
}

$(document).ready(function() {
     $('#new_task').bind('keydown', function(e) {
         var strLen = $(this).val().length;
        flag = testStr(strLen);
        console.log('flag: ', flag, 'strLen:', strLen);
    });
});


в результате при вводе первого символа console.log выдаёт flag: 0 strLen: 1, хотя по моей логике должен выводиться flag равный 1:
1. вводим первый символ в текстовое поле
2. срабатывает событие keydown (строка 14)
3. получаем длину длину поля #new_task равную 1 (строка 15)
4. в функцию testStr передаём параментр strLen равный 1 (строка 16)
5. в testStr при strLen == 1 должен быть флаг == 1, а возвращает flag == 0

в чём проблема?

Заранее спасибо.
Ответить с цитированием
  #2 (permalink)  
Старый 06.08.2012, 13:09
Профессор
Отправить личное сообщение для zebra Посмотреть профиль Найти все сообщения от zebra
 
Регистрация: 14.09.2011
Сообщений: 523

Замените keydown на keypress
Ответить с цитированием
  #3 (permalink)  
Старый 06.08.2012, 13:14
Аспирант
Отправить личное сообщение для mullih Посмотреть профиль Найти все сообщения от mullih
 
Регистрация: 05.08.2012
Сообщений: 77

... bind('keydown' ...


попробуйте поменять на
... bind('keyup' ...
Ответить с цитированием
  #4 (permalink)  
Старый 06.08.2012, 13:17
Аспирант
Отправить личное сообщение для mullih Посмотреть профиль Найти все сообщения от mullih
 
Регистрация: 05.08.2012
Сообщений: 77

to zebra

keydown в его случае будет ту же проблему создавать
Ответить с цитированием
  #5 (permalink)  
Старый 06.08.2012, 13:20
Интересующийся
Отправить личное сообщение для makcstroi Посмотреть профиль Найти все сообщения от makcstroi
 
Регистрация: 19.05.2012
Сообщений: 14

спасибо ребята, с этим вопросом разобрался :-)
Ответить с цитированием
  #6 (permalink)  
Старый 06.08.2012, 13:21
Профессор
Отправить личное сообщение для zebra Посмотреть профиль Найти все сообщения от zebra
 
Регистрация: 14.09.2011
Сообщений: 523

Да перепутал, keyup
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
простой вопрос по Ajax kichSman jQuery 6 26.04.2012 01:42
Простой, ламерский вопрос. bioz00 Общие вопросы Javascript 8 02.04.2012 19:47
Простой вопрос yuri.gordeev Общие вопросы Javascript 5 10.02.2012 14:31
Простой вопрос onClick alex2001 Элементы интерфейса 3 11.07.2010 18:19