2013-08-23 2 views
0

Я создаю очень простой автозаполнение с созданием тегов для моего сайта. У меня возникла проблема при удалении тегов в обратном пространстве. Вот как я обрабатывать забой ...Автозаполнение и обратный ключ

var txt = elem.val(); 
var tagArray = []; 

if(keyCode === 8 && !txt && tagArray.length > 0){ 
    $(".mytag:last").remove(); 
    tagArray.splice(-1,1); 
} 

Я попытался с помощью .А («KeyDown») и каждый раз в то время как он стирает несколько элементов я предполагаю, потому что на KeyDown срабатывает несколько раз для забоя в зависимости от длины вы удерживаете кнопку нажатой.

EDIT Новостройка, д. («KeyDown») работает, пока я не стираю поле, то он удаляет тег элемент

Я также попытался . («KeyUp») и однажды мой TXT поле пуст, чем удалить, но, конечно, когда вы находитесь на последнем символе, когда вы запускаете поле пустым, он удаляет последний символ плюс один из моих тегов.

Как использовать клавишу backspace для стирания текстового поля, а затем, когда он пуст, начните стирать теги без этих ошибок?

Благодарим за помощь.

+0

вы можете предоставить jsfiddle для демонстрации проблемы, с которой вы столкнулись? http://jsfiddle.net/ –

ответ

0

Я понял! При использовании события keydown он увеличивал событие каждый раз, когда я размывал и переориентировал элемент на элемент. Я решил это, отвязав событие от элемента

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