Сохранение в переменной выделенного на странице текста

Функция getSelText() возвращает выделенный на странице текст:

function getSelText(){
	var txt = '';
	if (window.getSelection){
		txt = window.getSelection();
	}else if (document.getSelection){
		txt = document.getSelection();
	}else if (document.selection){
		txt = document.selection.createRange().text;
	}
	return txt;
}

Пример применения функции: выделенный текст выводится в диалог alert по нажатию Ctrl + Enter:

document.onkeypress = function(){
	var e = arguments[0] || window.event;
	var code=e.keyCode?e.keyCode:(e.which?e.which:e.charCode);
	if(e.ctrlKey && code==13){
		var text = getSelText();
		alert(text);
	}
}
Maklay.com - Большой каталог товаров для спорта и активного отдыха
  • vadim

    в safari, chrome не работает

  • cheshire_cat

    уже двое суток рыскаю. вариантов под сафари и хром не видел вообще.

  • admin

    @cheshire_cat
    Да, я тоже не встречал еще, возможно нет вообще такой возможности

  • Demimurych

    Ваш пример работает ТОЛЬКО в ИЕ

    для geccko webkit браузеров рабоать нужно иначе.
    Информации море

  • Павел

    Работает и для Хром

  • Djaild

    Чтобы все работало в IE7 IE8
    4 строчку в Примере применения функции Ctrl + Enter нужно немного изменить:
    if(e.ctrlKey && code==13 || ((event.ctrlKey) && ((event.keyCode == 0xA)||(event.keyCode == 0xD)))){

  • Djaild

    И в safari тоже все заработет, в chrom’e не пробовал, может и там все ок.

JSToolbox создан на основе WordPress