Selection.js
9. srpna 2013
JavaScriptová knihovna pro práci s vybraným textem v elementu
<textarea>
.
Máte dvě možnosti použítí –
buď budete volat jednotlivé funkce (getText
,…) a předávat jim
vlastní TextArea objekt, nebo použijete třídu
TextAreaSelection
.
var textarea = document.getElementById('my-textarea');
// Ruční volání funkcí
Cz.Selection.getText(textarea); // vrátí vybraný text
Cz.Selection.getLines(textarea); // vrátí vybrané řádky
// Použítí objektu
var selection = new Cz.Selection.TextAreaSelection(textarea);
selection.getText();
selection.getLines();
Samozřejmě
musíte nalinkovat odpovídající soubory – základní
CzSelection.js
, případně i
CzTextAreaSelection.js
.
API
Knihovna nabízí následující funkce:
getText
– vrátí vybraný textgetLines
– vrátí vybrané řádky jako polegetLength
– vrátí délku vybraného textuwrap
– obalí vybraný text zadaným textemunwrap
– opak předchozího, snaží se chovat inteligentně, aby nebylo třeba vybírat celý obalený text, ale jen jeho část, nebo jen umístit kurzor mezi obalovací značkywrapLines
– obalí začátek a konec každého vybraného řádku, volitelně ignoruje počáteční a koncové mezery, tabulátory,…unwrapLines
– opak předchozí funkce, opět může volitelně ignorovat bílé znaky na záčátku a konci každého řádkureplace
– nahradí vybraný text zadaným textem, případně volitelně vloží text na místo kurzoruinsert
– vloží text na místo kurzoru/ konec současného výběru
TextAreaSelection
navíc
poskytuje metodu focus
, která funguje jako zkratka pro
textarea.focus()
.
Podpora prohlížečů
Knihovnu
jsem testoval v Opeře 12.16, Firefoxu, Chrome. Bez problémů by měla
fungovat i v Internet Explorer 9 a výš. Přidána byla i experimentální
podpora pro starší Explorery, vyskytuje se tam několik drobných problémů
(způsobených pravděpodobně tím, že IE počítá znaky \r\n
někdy jako 1 znak, jindy jako 2 znaky. Zatím nemám čas a ani chuť to
řešit).
- Demo: http://czproject.github.io/selection-js/
- Repozitář: https://github.com/…selection-js
- Licence: New BSD License