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