Portál AbcLinuxu, 12. května 2025 10:17

Dotaz: JQuery - jak vybrat text pri kliknuti, ale...

22.3.2015 00:20 TT
JQuery - jak vybrat text pri kliknuti, ale...
Přečteno: 505×
Odpovědět | Admin
Zdravim,

mam
<input type="text" ... >
a potrebuji, aby se pri focusu, nebo kliknuti vybral jeho obsah.

Nejprve jsem zkusil toto:
$("input[type='text']").on("focus", function () {
    $(this).select();
});
Toto funguje, pokud se do toho policka dostanu tabelatorem (proste mackanim TAB tam preskacu a pak se ten obsah vybere). Kdyz do toho policka kliknu, tak se jeho obsah nevybere.

Tak jsem vygooglil toto:
$("input[type='text']").on("mouseup", function () {
    $(this).select();
});
Ted obsah policka zmodra at do nej skocim tabelatorem nebo do nej kliknu.

Super. Ale je tu novy problem.

Dejme tomu, ze policko obsahuje text "Skakal pes pres oves".

Kdyz do neho kliknu, vsechno to zmodra, vsechno se to vybere.

Kdyz chci ale mysi vybrat slovo "Skakal", tak jakmile pustim tlacitko mysi, okamzite se znovu vybere cely text.

Nevite prosim jak docilit toho, aby se to nedelo?

Dekuji za Vas cas.
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

Josef Kufner avatar 22.3.2015 00:28 Josef Kufner | skóre: 70
Rozbalit Rozbalit vše Re: JQuery - jak vybrat text pri kliknuti, ale...
Odpovědět | | Sbalit | Link | Blokovat | Admin
Demo v dokumentaci reaguje správně i na klikání myší. Viděl bych problém v tom, že text označíš moc brzy a prohlížeč ho o chvilku později odvybere. Zkus si vypisovat všechny eventy do console a uvidíš, co se tam děje. Pokud se text odvybere mezi voláním onfocus a mouseup, tak prostě první mouseup během první půlsekundy zahoď (nebo označ znovu nebo co chceš).
Hello world ! Segmentation fault (core dumped)

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.