2013-10-26 2 views
1

Я хочу иметь счетчик в текстовом поле, начинающемся с 140, и вычитает количество символов в текстовой области.Счетчик символов в реальном времени в приложении Titanium (iOS)

Вот мое событие Слушатель:

contentArea.addEventListener('change', function(e) { 
    if(e.value.length >= 200) { 
     contentArea.value = e.value.substring(0, 200); 
    } else { 
     countLabel.text = 140 - e.value.length; 
    } 
}); 

В принципе, пользователь может представить, если они имеют 140 или меньше символов. Я не хочу просто блокировать его, как только они достигнут предела, поэтому я позволил им пойти на приличную сумму. Но я хочу обновить этот счетчик ярлыков с точным представлением их количества.

Проблема заключается в проверке того, что подсчет при каждом изменении автоматически принимает любое предложение автокоррекции и вызывает очень плохой UX.

Есть ли способ обойти это?

+0

Вы можете отключить автокоррекцию. –

+0

@JosiahHester Это не жизнеспособное решение этой проблемы, нежели удаление счета. – eliot

+0

Вы говорите о встроенном авто правильно? Или ты бросил свой собственный. Кроме того, эта функция выпекается в [TextArea control] (http://docs.appcelerator.com/titanium/latest/#!/api/Titanium.UI.TextArea-property-maxLength). –

ответ

0

Звучит как беспорядочный способ сделать что-то, но вы можете попробовать добавить таймер цикла, когда срабатывает событие textArea focus(), которое продолжает проверять длину и обновлять дисплей. Затем при событии blur() удалите таймер.

Смежные вопросы