Я правильно использую keyup?

Это выдержка из файла JS

        $searchBox.keyup(function(event) {
            if (event.keyCode === 13) { //enter
                if(currentResult > -1) {
                    var result = $searchResults.find('tr.result a')[currentResult];
                    window.location = $(result).attr('href');
                }
            } else if(event.keyCode === 38) { //up
                if(currentResult > 0) {
                    currentResult--;
                    renderCurrent();
                }
            } else if(event.keyCode === 40) { //down
                if(lastResults.length > currentResult + 1){
                    currentResult++;
                    renderCurrent();
                }
            } else {
                var query = $searchBox.val();
                if (lastQuery !== query) {
                    currentResult = -1;
                    if (query.length > 2) {
                        self.search(query);
                    } else {
                        self.hideResults();
                    }
                    if(self.hasFilter(getCurrentApp())) {
                        self.getFilter(getCurrentApp())(query);
                    }
                }
            }
        });

Это означает, что он должен выполнять действие только при нажатии клавиш "Ввод", "Вверх" или "Вниз", верно? Потому что поиск начинается сразу после нажатия любой клавиши.

Я также попытался изменить searchBox.keyup на searchBox.change, но это испортило работу чего-то еще.

0 ответов

Другие вопросы по тегам