Поскольку пользователь просит связать с объектом Textrange, объект, используемый для обработки текстовой части объекта JavaScript.
Textrange - это объект, используемый для экспрессии китайских иероглифов в элементах HTML. Хотя мы не очень часто используем этот объект, он предоставляется в IE4.0. Однако призывные методы, предоставленные Textrange, относительно неясны, так что мы можем с этим сделать?
Традиционное использование Textrange заключается в управлении текстовым контентом, выбранным пользователями с мышью на веб -странице, такими как изменения, удаление, новые дополнения и т. Д., Но его классическая цель - найти текст (это относительно просто) на веб -странице и получить позицию курсора ввода. Последнее может генерировать гораздо более полезное использование, например: ограничение входного маскированного стеклы, его основная техническая точка заключается в получении позиции курсора блока ввода, а затем использование регулярных выражений для оценки входного содержимого. Существует также «использование клавиш со стрелками для естественного навигации в матрице ввода», которую я представлю позже. Основная техническая точка также заключается в получении позиции курсора в поле ввода.
Весь код, чтобы получить позицию курсора в поле ввода, на самом деле очень короткий, но эти объекты и методы не очень часто используются.
JS -код
<span style = "font-size: medium;"> <script language = "javascript"> function getCursorpsn (txb) {var slct = document.selection; var rng = slct.createrange (); txb.select (); rng.setendpoint ("starttostart", slct.createrange ()); var psn = rng.text.length; rng.collapse (false); rng.select (); вернуть PSN; } </script> </span>Здесь мы поговорим о побочных эффектах, которые приведут к работе ввода после использования метода getCursorpsn ().
Для входной коробки
HTML -код
<span style = "font-size: medium;"> <input type = "text" onkeydown = "getCursorpsn (this)"> </span>
Он больше не сможет использовать клавиши Shift+ левый и правый стрелки для выбора текста;
HTML -код
<span style = "font-size: medium;"> <textarea onkeydown = "getCursorpsn (this)"> </textarea> </span>
, Вы больше не можете использовать клавиши Shift+ Up, Down, левый и правый направление, чтобы выбрать текст. Поскольку после того, как код получает началу текущего курсора в текст, вызывая rng.collapse (false); изменит редактирование текста в текстовой корзине.
1. Фрагменты кода, чтобы удовлетворить требования пользователей, используйте верхнюю, нижнюю, левую и правую клавиши для достижения прыжка текстового поля и выберите содержимое текстового поля, чтобы облегчить изменение пользователя. Код заключается в следующем:
JS -код
<span style = "font-size: medium;"> var range = $ currentTextfield.createTexTrange (); // $ currentTextField-это диапазон объектов jQuery.movestart ('символ', 0); Range.select (); </span>Ниже приведена импортная статья о Textrange, которая мне кажется довольно хорошо:
HTML -код
<! Doctype html public "-// w3c // dtd xhtml 1.0 transitional // en" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd"> <html xmlns = "http://www.w3.org/1999/xhtml"> <Head> <title> Новый документ </title> <meta http-equiv = "content-type" content = "text/html; charset = utf-8"/> <style-type {font-size: 12px; } #show {founal-color: #ccff99; } </style> </head> <body> <textarea id = "content" cols = "30" Rows = "10"> рыба в реке умирает странно, жители вниз по течению страдают от странных заболеваний, а растения вдоль побережья постоянно мутируют. Это остаточные пестициды? Или биохимическая атака? Пожалуйста, обратите внимание на CCTV -10 «Научные исследования». ""); } /* Существуют некоторые проблемы в разделе «Метод один ff* / function getSelecttext () {try {// ie: document.selection.createrange () w3c: window.getSelection () var selecttext = (document.selection && document.selection.createrange)? document.selection.createrange (). Text: window.getSelection (). ToString (); if (selectText! = null && selectText.trim ()! = "") {return selectText; }} catch (err) {}} /* method 2* / function getSelecttext2 (id) {var t = document.getElementByid (id); if (window.getSelection) {if (t.selectionStart! = undefined && t.selectionend! = undefined) {return t.value.substring (t.selectionStart, t.selectionend); } else {return ""; }} else {return document.selection.createrange (). Text; }} document.getElementById ('btn'). onclick = function () {document.getElementById ('show'). innerHtml = getSelectText2 ('content'); } </script> </body> </html>