Czy w javascript jest funkcja umożliwiająca po prostu odznaczenie całego zaznaczonego tekstu? Wydaje mi się, że to musi być prosta funkcja globalna, taka document.body.deselectAll();
czy coś.
javascript
selection
NoodleOfDeath
źródło
źródło
window.getSelection().removeAllRanges();
działa we wszystkich obecnych przeglądarkach. Demo na żywo: jsfiddle.net/hWMJT/1removeAllRanges()
metoda działa we wszystkich obecnych przeglądarkach dla tekstu w akapitach lub podobnych elementów niebędących polami formularza. W przypadku pól formularzy (takich jak textarea) ta metoda nie działa w IE9 i FF5.window.getSelection().removeAllRanges();
pierwsze, ponieważ jest zgodny ze standardami, zastrzeżony kod powinien być zawsze wykonywany jako ostatni . Niezależnie od tego, czy kod zgodny ze standardami 2004 czy 4004 zawsze będzie tym, czego używamy, więc najpierw go wykryj bez wyjątku!Oto wersja, która wyczyści wszystkie zaznaczenia, w tym w obszarze wprowadzania tekstu i obszarach tekstu:
Demo: http://jsfiddle.net/SLQpM/23/
źródło
<div>
wówczasmouseup
zdarzenie nie ognia. Zamiast tego umieśćW przypadku przeglądarki Internet Explorer można użyć pustej metody obiektu document.selection:
W przypadku rozwiązania obejmującego wiele przeglądarek zapoznaj się z tą odpowiedzią:
Wyczyść zaznaczenie w przeglądarce Firefox
źródło
document.selection.clear()
działa tylko w IE. Zobacz tutaj: jsfiddle.net/9spL8/4 Ponadto ta metoda usunie zaznaczony tekst, a nie tylko odznaczy go. Aby po prostu odznaczyć tekst, użyjdocument.selection.empty()
zamiast tego.W przypadku
textarea
elementu składającego się z co najmniej 10 znaków następujące czynności dokonają niewielkiego wyboru, a po półtorej sekundy odznaczy to:źródło
To zadziałało dla mnie niesamowicie łatwiej ...
lub
Kredyty: https://riptutorial.com/javascript/example/9410/deselect-everything-that-is-selected
źródło