selectionStart для не текстовых элементов
$(element)[0].selectionStart
кажется, работает только для $(element)[0].selectionStart
. Есть ли альтернатива для не текстовых
Я пытаюсь заключить строки в DOM-элементы в теги (полужирный, курсив...)
Кроме того, как мне отменить упаковку?
Ответы
Ответ 1
Это сложная область. Вам нужен объект Selection и DOM Range. Тем не менее, IE делает все это совершенно по-другому для правильных браузеров.
Обтекание выделения внутри тегов также нетривиально вообще: вам нужно рассмотреть все текстовые узлы в пределах выделения.
Моя библиотека Rangy нормализует API выбора/диапазона для IE и имеет чтобы применить класс CSS к выбору, что может помочь вам в некоторой степени. Я также планирую написать более общий модуль для применения других стилей к выбору/диапазону.
Извините за бесстыдную саморекламу, но не написав много кода самостоятельно, я не знаю, что еще предложить.
Ответ 2
Взгляните на это - http://help.dottoro.com/ljqxhfte.php
Похоже, что это может быть немного сложно в IE.
Ответ 3
использовать плагин jQuery fieldSelection
http://plugins.jquery.com/project/fieldselection
Я использую его в своем script, который разбивает теги на вставку и, похоже, отлично работает.
http://blog.brokenbytes.info/2010/09/stripping-tags-on-paste-using-jquery/