Mantener el keyboard de iOS abierto mientras se ejecuta la function keyup.

Esta pregunta es sobre iOS web dev.

Tengo una function que es activada por un escucha de teclas en un campo de input "Buscar". Funciona perfectamente en computadoras de escritorio, computadoras portátiles, teléfonos Samsung Galaxy y Sony Xperia pero no en iPhone o iPad. Cada vez que se ejecuta la function, el keyboard suave se cierra. Una solución potencial en la que pensé era focus en la input id='newsearch' como la última línea de la function, pero eso no parecía hacer nada.

¿Alguien sabe cómo mantener el keyboard abierto mientras la function se ejecuta en ios?

Vea a continuación 3 fragments de código:

Las líneas que activan la function:

 <tr><td colspan='3'>Search <input type='text' autofocus id='newsearch'></input></td> <h2>Search Results</h2> <div id="newsearch-data"> </div> <script src="http://code.jquery.com/jquery-1.8.0.min.js"> </script> <script src="addplayer.js"> </script> 

La function misma: addplayer.js

 $('input#newsearch').on('keyup', function(){ var newsearch = $('input#newsearch').val(); if ($.trim(newsearch)!= "") { $.post('newsearch.php', {newsearch: newsearch}, function(data) { $('div#newsearch-data').html(data); }); } }); document.getElementById("newsearch").focus(); 

El file php a la que se refiere la function: newsearch.php

 if (isset($_POST['newsearch']) && $_POST['newsearch'] != NULL){ require 'dbconnect.php'; $term = $_POST['newsearch']; $terms = "%" . $term . "%"; $_SESSION['players'] = array(); $query = ("SELECT * FROM players WHERE Username LIKE '$terms' OR Phonenumber LIKE '$terms' OR PlayerID LIKE '$terms'"); $run_query = mysqli_query($dbcon, $query); echo "<table border='1px'><tr><th>Player ID</th><th>Name</th><th>Action</th></tr>"; while ($dbsearch = mysqli_fetch_assoc($run_query)) { $dbu = $dbsearch['Username']; $id = $dbsearch['PlayerID']; $func = "add(" . $id . ", Brad Henry )"; array_push ($_SESSION['players'],$dbsearch['PlayerID']); echo "<tr><td>".$id ."</td><td>".$dbu."</td><td><input type=\"submit\" id=\"PlayerAdded".$id."\" autofocus value=\"Add\" onclick=\"add('".$id."','".$dbu."');\"></input></td></tr>"; } 

Intenta establecer el foco en el campo.

 $('input#newsearch').on('keyup', function(){ var field = $(this); var newsearch = field.val(); if ($.trim(newsearch)!= "") { $.post('newsearch.php', {newsearch: newsearch}, function(data) { $('div#newsearch-data').html(data); field.focus(); }); } }); 

No puedo creer que esto me tomó tanto time para darme count. El último "eco" en newsearch.php contiene el atributo de autofocus en el button Agregar … Eliminé eso y ahora funciona.