Сделать выделенный текст в текстовой области заглавными

Мне не удается использовать выделенный текст в текстовых областях с помощью onClick.

После нескольких часов гугления я обнаружил, что нет встроенного метода для получения выделенного текста в texareas.

Я нашел Замену выделенного текста в текстовой области, который заменяет текст.

Как можно настроить капитализацию выделенного текста?

Тестирование: http://jsfiddle.net/tDYe4/2/


person Martin    schedule 05.05.2012    source источник


Ответы (1)


Вот модифицированная версия вашей функции, которая работает. Обновлена ​​ваша скрипта.

function capitalizeSelectedText(el) {
    var sel       = getInputSelection(el),
        val       = el.value,
        selection = val.substring(sel.start, sel.end);

    if(!selection) return;

    var new_text = val.substring(0, sel.start) + selection.toUpperCase() + val.substring(sel.end);
    el.value = new_text;
}
person Nadh    schedule 05.05.2012
comment
Потрясающий! Спасибо, остальное сделаю сам (правильные заглавные буквы). - person Martin; 05.05.2012