To pytanie dotyczy programisty iOS.Zachowaj otwartą klawiaturę iOS, gdy działa funkcja klawiatury numerycznej
Mam funkcję uruchamianą przez detektor keyup w polu wejściowym "Wyszukaj". Działa idealnie na komputerach stacjonarnych, laptopach, telefonach Samsung Galaxy i Sony Xperia, ale nie na iPhonie czy iPadzie. Po uruchomieniu funkcji klawiatura zostanie zamknięta. Jedną potencjalną poprawką, o której myślałem, było ponowne wpisanie focus
na wejściu id='newsearch'
jako ostatniej linii funkcji, ale nic z tego nie wynikało.
Czy ktoś wie, jak utrzymać klawiaturę otwartą, gdy funkcja działa w ios?
Zobacz 3 fragmenty kodu poniżej:
liniach, które wyzwalają funkcję:
<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>
Funkcja sama: 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();
Plik php funkcja odnosi się do: 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>";
}
Jaką wersję systemu iOS używasz? Działa dobrze dla mnie, gdy otwieram tę stronę na iOS 8. http://codepen.io/hampusohlsson/pen/mejMpw – hampusohlsson
@hamohl Jestem na ios 9, ale testowałem go na różnych urządzeniach z systemem iOS. Wywołuje wyszukiwanie, ale klawiatura zamyka się około pół sekundy po pierwszym naciśnięciu klawisza, więc podczas wyszukiwania nazwy zawierającej 15 znaków zamyka ona klawiaturę około 5-7 razy, a użytkownik musi każdorazowo odznaczyć wyszukiwanie. Z którego urządzenia korzystasz? – Tunna182
Używam iPhone'a 5S iOS8. Możesz spróbować użyć limitu czasu, aby uniemożliwić wysyłanie wielu żądań przed zakończeniem pisania, a przynajmniej sprawdzić, czy to pomaga. Sprawdź zaktualizowany długopis powyżej :) – hampusohlsson