• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Select input am iphone

jumbo125

Mitglied
Hallo miteinander

Ich verzweifle an etwas, und zwar möchte ich lediglich feststellen, ob bspw. 2sekunden von einer Funktion bis zur nächsten Wiederholung verganhen sind.
Leicht gesagt: ein input Feld hat die function keyUp zugewiesen. Nun möchte ich einfach checken, Ober der Benutzer eine gewisse Zeit nicht eingegeben hat.
Hat er 2sekunden nichts eingegeben, soll die bisherige Eingabe markiert werden.
Es funktioniert, bis auf folgendes:
1. nach jeder Eingabe werden zwei Sekunden gewartet, es seiden es wird die Return Taste benutz um was zu löschen...
2. der Text wird in jedem Browser markiert, aber nicht am iPhone...

Hier mal die Zeit funktion

Code:
Function count_time(){
window.clearInterval(count);
var start_time = 0;
var count = "";
count = setInterval(function () {clear(3)}, 1000);//function count jede Sekunde wiederholen


function clear(zeit){
start_time++;//jeden functionsaufruf 1dazuzählen 
if(start_time >zeit){//wenn die Funktion öfters wiederholt wurde, als die gesetzte Zeit, soll das Textfeld markiert werden
my_select();
window.clearInterval(count);
start_time=0;
}
}
}

Habt ihr ne bessere Idee oder passt das?
Die Funktion wird gleich am Beginn von keyUp hingeschrieben

Die select function
Code:
funnction my_select(){
if(typeof setSelectionRange == "function"){
$('input[name="search"]').focus();
$('input[name="search"]').select();
$('input[name="search"]').setSelectionRange(0, 9999);
}
else {
$('input[name="search"]').selectionStart = 0;
$('input[name="search"]').selectionEnd = 9999;
$('input[name="search"]').select();
}
}
 
Werbung:
Hi, schau mal ob das deinen Anforderungen genügt.
Kann man ja auch noch erweitern sodass bei einem leeren Input der Timer geleert wird.

Code:
var timer;
$("input, select, textarea").on("change keyup", function() {
    var element = $(this);
    clearTimeout(timer);
    timer = setTimeout(function() {
        validate(element);
    }, 2000);
});
 
Werbung:
Oh hätte ich dazusagen sollen..
Das ist ein Ausschnitt meines eigenen JS Codes also die Funktion validate() ist von mir definiert, dort kannst du deine Funktion aufrufen oder direkt deinen Code einsetzen der Verzögert werden soll.
 
Danke für deine Antwort
Sowas dachte ich schon....

Damit wäre dann das Zeitproblem gelöst, aber das select Problem besteht noch immer.

Am iPhone funktioniert eben keine select function welche ich ausprobiert habe
 
Werbung:
Wie ich bereits schon im ersten Beitrag geschrieben habe, möchte ich den Text eines input Feldes markieren und schaffe das nicht. Es funktioniert zwar am PC in mehreren Browsern
 
Zurück
Oben