Плагин для обработки выбора? - PullRequest
3 голосов
/ 20 февраля 2012

Может кто-нибудь предложить плагин, который может обрабатывать выделение текста в текстовых областях (кросс-браузер)?

Я ищу плагин, который может:

  • Получить текущий выбор
  • Заменить текущий выбор
  • Выберите диапазон

(IE использует createTextRange, в то время как другие браузеры используют setSelectionRange. Должен существовать плагин, который может сделатьвыше, чтобы мне не пришлось изобретать велосипед.)

Ответы [ 5 ]

5 голосов
/ 20 февраля 2012

Выбор поля jQuery: https://github.com/localhost/jquery-fieldselection

См .: https://github.com/localhost/jquery-fieldselection/blob/master/jquery-fieldselection.js

Реализует: getSelection, replaceSelection

Не реализует: currentSelection

Rangy: Реализует: getSelection, ReplaceSelection, CurrentSelection

(примечание: не плагин jquery, но все еще широко применяется)

Кросс-браузерный диапазон JavaScript и библиотека выбора.Он предоставляет простой основанный на стандартах API для выполнения общих задач DOM Range и Selection во всех основных браузерах, абстрагируя дико отличающиеся реализации этой функциональности между Internet Explorer и DOM-совместимыми браузерами.

Кажется, для реализации того, что вы хотите, для демонстрации см .: http://rangy.googlecode.com/svn/trunk/demos/core.html

http://code.google.com/p/rangy/

См. Также: Jquery: selectionStart для не textareaelements

Rangyinputs Плагин jquery, который предлагает функциональность, аналогичную Rangy, за исключением входов вместо произвольных элементов DOM.

Небольшой кросс-браузерБиблиотека JavaScript для получения и управления выделениями внутри и HTML-элементами.

Демо: http://rangyinputs.googlecode.com/svn/trunk/demos/textinputs_jquery.html

Проект: http://code.google.com/p/rangyinputs/

0 голосов
/ 19 января 2016

http://codepen.io/mattsich/pen/MKvmxQ для выбора стиля iOS, который я построил. В конечном итоге это просто:

$(document).ready(function(){
  $(".full-text").selectBars('.full-text', 'ipsum', function(){
    $('.selected-text p').text($('.full-text').attr('data-selected'));
  });

});
0 голосов
/ 17 марта 2014

Я перепробовал многие ссылки, представленные здесь, и другие из репозитория плагинов jQuery, и ни одна из них не работала так, как я хотел.

Но есть один, не упомянутый здесь, который действительно интересен:

http://madapaja.github.io/jquery.selection/

Надеюсь, это поможет! :)

0 голосов
/ 22 февраля 2012

Я создал свой собственный. Только 2,6 КБ без сжатия: http://blog.gauffin.org/2012/02/a-javascript-selection-script/

//jQuery is not required but supported.
var selection = new textSelector($('#mytextarea'));
selection.replace('New text');

// you can change selection:
selection.select(1,10); // select char 1 to 10

// get selection
console.log("Start char: " + selection.get().start);

// check if anything is selected
selection.isSelected();

// get the text
var text = selection.text();

Доступно на github: https://raw.github.com/jgauffin/griffin.editor/master/Source/textselector.js

0 голосов
/ 20 февраля 2012

Ниже плагин может вам помочь http://www.examplet.buss.hk/jquery/caret.php

Мне тоже было полезно

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...