2016-03-30 4 views
3

У меня есть приложение Cordova, работающее на iOS. Я реализовал окно поиска с этим HTML:Вызовите функцию, когда нажата кнопка «done» на клавиатуре в Cordova

<form> 
    <input type="search" class="historySearchTextbox" id="myFilter" placeholder="Search" spellcheck="false" autocorrect="off"> 
</form> 

Это прекрасно работает и дает мне кнопку «идти» вместо возвращения на всплывающей клавиатуры. Я могу захватить нажатия на кнопке Go с этим JavaScript:

$('#myFilter').on('keyup', function (e) { 
    var theEvent = e || window.event, 
     keyPressed = theEvent.keyCode || theEvent.which; 
    if (keyPressed === 13) { 
     filter(); 
     document.activeElement.blur(); 
    } 
    return true; 
}); 

Но я до сих пор на кнопку «Готово», чтобы иметь дело с клавиатурой. Я считаю, что нет ключа, который я могу использовать, и мое собственное тестирование согласуется. Основываясь на чтении ответов на переполнение стека, самое лучшее, что я могу сделать, это обнаружить, когда клавиатура уходит. Я использую этот JavaScript:

$("#myFilter").bind('blur', function (event) { 
    window.alert("blur"); 
}); 

Это работает, но я предпочел бы иметь прямой способ обнаружения «сделал» ключевой кран.

Любые предложения?

Спасибо!

Jon

+0

Что я делаю, чтобы слушать, чтобы положить поле на форме, и когда вы нажимаете идти об отправке события называется – jcesarmobile

ответ

-2

Проделанная клавиша совпадает с клавишей ввода. Таким образом, вы можете прослушивать событие нажатия клавиши. Я пишу это с помощью jQuery, и я использую его в сценарии кофе, поэтому я пытаюсь преобразовать его обратно в js в моей голове. Извините, если есть ошибка.

$('someElem').bind("keypress", function(e){ 
// enter key code is 13 
if(e.which === 13){ 
    console.log("user pressed done"); 
} 
}) 
+0

Привет, спасибо вашего быстрого ответа. Я просто попробовал, но это не срабатывает, когда я нажимаю кнопку «done». Кроме того, я должен был упомянуть, что хочу, чтобы кнопка Go нажала кнопку done, чтобы делать разные вещи. –

+0

Это определенно неверно, этот ответ следует удалить – Nathan

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