Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Отмена выделения, Как реализовать? 
V
    Опции темы
Guedda
Дата 28.6.2011, 12:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Подрывник
****


Профиль
Группа: Завсегдатай
Сообщений: 3137
Регистрация: 27.12.2005
Где: Ростов-на-Дону

Репутация: нет
Всего: 78



Добрый день, уважаемые. Есть один вполне простенький вопрос, на который в сети я пока не получил ответа (но может не там ищу).
Есть страница. В ней блок, в котором текст с картинками.
Я выделяю текст с картинками. Выделилось (по умолчанию синим цветом).
И по событию onMouseOut этого блока мне необходимо, чтобы выделение снималось. 

Код

function ClearAll() {
// что здесь написать?
}


Как такое реализовать на чистом JS, без использования различных библиотек?

Заранее благодарен.

Это сообщение отредактировал(а) Guedda - 28.6.2011, 12:55


--------------------
Ll 2
PM MAIL WWW ICQ Skype GTalk   Вверх
ayax2005
Дата 28.6.2011, 14:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


echo $smile
**


Профиль
Группа: Участник
Сообщений: 516
Регистрация: 17.4.2008
Где: Питер

Репутация: 2
Всего: 11



"Я выделяю текст с картинками. Выделилось (по умолчанию синим цветом)" - вы имеете ввиду, что мышкой выделяете?
тогда на onMouseOut вешайте передачу фокуса на какой-нибудь безобидный эелемент document.getElementById("id элемента которому надо передать фокус").focus();


--------------------
все вопросы - из-за неверной формулировки задачи
PM MAIL ICQ   Вверх
Guedda
Дата 28.6.2011, 14:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Подрывник
****


Профиль
Группа: Завсегдатай
Сообщений: 3137
Регистрация: 27.12.2005
Где: Ростов-на-Дону

Репутация: нет
Всего: 78



Да, спасибо. Понял, в какую сторону копать.


--------------------
Ll 2
PM MAIL WWW ICQ Skype GTalk   Вверх
Guedda
Дата 29.6.2011, 13:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Подрывник
****


Профиль
Группа: Завсегдатай
Сообщений: 3137
Регистрация: 27.12.2005
Где: Ростов-на-Дону

Репутация: нет
Всего: 78



Нашел хорошую функцию:
Код

    function preventSelection(element){
        var preventSelection = false;

        function addHandler(element, event, handler){
            if (element.attachEvent)
                element.attachEvent('on' + event, handler);
            else if (element.addEventListener)
                element.addEventListener(event, handler, false);
        }

        function removeSelection(){
            if (window.getSelection) { window.getSelection().removeAllRanges(); }
            else if (document.selection && document.selection.clear)
            document.selection.clear();
        }

        function killCtrlA(event){
            var event = event || window.event;
            var sender = event.target || event.srcElement;

            if (sender.tagName.match(/INPUT|TEXTAREA/i))
            return;

            var key = event.keyCode || event.which;
            if (event.ctrlKey && key == 'A'.charCodeAt(0)) {
                removeSelection();

                if (event.preventDefault)
                    event.preventDefault();
                else
                    event.returnValue = false;
            }
        }

        addHandler(element, 'mousemove', function() {
            if(preventSelection)
                removeSelection();
        });

        addHandler(element, 'mousedown', function(event){
            var event = event || window.event;
            var sender = event.target || event.srcElement;
            preventSelection = !sender.tagName.match(/INPUT|TEXTAREA/i);
        });

        addHandler(element, 'mouseup', function(){
            if (preventSelection)
                removeSelection();
            preventSelection = false;
        });

        addHandler(element, 'keydown', killCtrlA);
        addHandler(element, 'keyup', killCtrlA);
    }



--------------------
Ll 2
PM MAIL WWW ICQ Skype GTalk   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0437 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.