У текстовых полей (textarea, input text и т.д.) есть JS-свойства selectionStart
и selectionEnd
, которые возвращают начальную и последнюю позицию выделенного текста, начиная с нуля. Если текст не выделен, то эти значения совпадают.
Получим выделенный текст из textarea с использованием JQuery.
$('#button').click(function(){
var control = $('#control')[0];
var text = $(control).val();
if (control.selectionStart != control.selectionEnd) {
val = text.substring(control.selectionStart, control.selectionEnd);
alert(val);
}
return false;
});
Ещё один пример – выделенный текст захватывается по событию mouseup
у <textarea>
.
$('#control').mouseup(function(){
var text = $(this).val();
if (this.selectionStart != this.selectionEnd) {
val = text.substring(this.selectionStart, this.selectionEnd);
$('#result span').text(val);
}
});