javascript

S
На сайте с 11.03.2010
Offline
29
557

Добрый вечер, помогите разобраться, пожалуйста.

Не как не могу вникнуть, хочу сделать событие после того как на странице выделяется часть

текста, а срабытывает просто на нажатие мыши, в опере иногда получалось, но чувствую, что-то

я делаю неправильно.

$(document).mouseup(function (e) {

var selectedText_a=null;

if(window.getSelection) {

selectedText_a=window.getSelection();

} else { if(window.document.getSelection)

{selectedText_a=window.document.getSelection();

} else{selectedText_a=window.document.selection;}

}

if (selectedText_a!=null){alert(selectedText_a);}

});

L
На сайте с 07.12.2007
Offline
351
#1

попробуйте сравнивать не с null if (selectedText_a!=null){alert(selectedText_a);}

а if (selectedText_a.toString().length > 2) {alert(selectedText_a);} (то есть, когда выделено более 2-х символов)

PS: Если Вы хотите таким образом защитить контент от копирования - дохлый номер.

И защититься не получится, и кросс-браузерного решения нормального нет.

Посмотрите, что там мутили с подобным скриптом на js-форуме, но в Хроме и ФФ - глючит.

S
На сайте с 11.03.2010
Offline
29
#2

Спасибо, за ответ, буду пробывать. Контент я не защищаю, просто хочу сделать всплывающее окошко после выделения с предложением исправить ошибки в тексте.

p.s. почемуто таже форма нормально срабатывает в случае с клавиатурой...

L
На сайте с 07.12.2007
Offline
351
#3
secach:
Спасибо, за ответ, буду пробывать. Контент я не защищаю, просто хочу сделать всплывающее окошко после выделения с предложением исправить ошибки в тексте.

Есть такая фигна на некоторых сайтах - в случае нахождения ошибки предлагают выделить текст и нажать "ctrl-X".

Надо глянуть как у них сделано, но по-можему не по событию "выделения текста мышкой" - onSelect - он по-моему есть только в textarea и input.

Поэтому у Вас и ловится нажатие или отпускание клавиши мыши, а потом проверяется есть ли выделение.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий