Dzieje się tu trochę dziwności. focus
dzieje się po mousedown, ale umieszczenie kursora dzieje się na click
(tj. mousedown
, a następnie mouseup
). Po ustawieniu kursora dowolna selekcja zniknie.
Tak, będziesz najprawdopodobniej chcą zachować swoją imprezę focus
(za tabulatorem i trigger
celów ing), ale również dodać click
lub mouseup
obsługi do zrobienia faktyczna wybierz w przypadku kliknięcia.
$('input[type="text"]').focus(function() {
$(this).select();
}).click(function() {
if ($(this).val() === 'Your default value')
{
$(this).select();
}
});
if
istnieje tak, że gdy użytkownik dostosować tekst w danych wejściowych, mogą kliknąć wokół bez zaznaczania tekstu. Chociaż tak naprawdę nie odnosi się do wprowadzania tekstu readonly
, więc może być bezpiecznie usunięty.
Edytuj: Kod wydaje się być w najlepszym razie niespójny, więc może nie być rozwiązaniem.
Wydaje się to działać dobrze, chociaż zależy to od tego, gdzie kliknę. Kliknięcie na końcu treści tekstowej działa dobrze, kliknięcie środkowego powoduje miganie, które opisujesz za pierwszym razem, a następnie działa po raz drugi. –
Przetestowałem powyższy kod w jquery 1.4.3 i działa dobrze! –