Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Как отключить выделение мышкой на странице? (https://javascript.ru/forum/events/9127-kak-otklyuchit-vydelenie-myshkojj-na-stranice.html)

nemoj 30.04.2010 03:13

Как отключить выделение мышкой на странице?
 
Рисую в эксплорере векторные картинки, перетаскиваю их. Должна получиться система для визуального конструирования штор/окон/мебели.
Внезапно мои vml-примитивы окрашиваются в инверсный цвет, так как браузер решает выделить кусок страницы по которому я сделал drag. Мне нужно убрать эту возможность. Хочу сам контролировать выделения. Мне кажется, это должно быть очень просто для таких гуру, как вы.
Интересует решение для эксплорера.
Спасибо.

PeaceCoder 30.04.2010 14:35

конкретно для ie вроде атрибут unselectable="on"...

Nekromancer 30.04.2010 14:52

Все так называемые "unselectable" для IE очень тормозят при drag'n'drop.. попробуйте поставить такой атрибут и некоторые время по перетаскивать элемент - страница умрёт.

Kolyaj 30.04.2010 14:55

Для IE можно onselectstart отменять, для остальных браузеров -- onmousedown.

Nekromancer 30.04.2010 14:59

Цитата:

Сообщение от Kolyaj (Сообщение 53718)
Для IE можно onselectstart отменять, для остальных браузеров -- onmousedown.

Ещё в некоторых случаях для Fx нужно отменять "draggesture"..

micscr 30.04.2010 15:09

Для IE:
<body onselectstart="return false;">
Остальное:
::selection {
background: transparent; /* Safari */
}
::-moz-selection {
background: transparent; /* Firefox */
}
Для хрома вроде 1-е работает.

nemoj 30.04.2010 15:12

Спасибо всем.
Мне на другом форуме посоветовали такую строчку:
document.body.onselectstart= function() {return false}
Я попробовал, работает.
Ваши варианты стоит пробовать, или так сойдет? Какой способ лучше?

micscr 30.04.2010 15:17

Цитата:

Сообщение от nemoj (Сообщение 53722)
Я попробовал, работает.
Ваши варианты стоит пробовать, или так сойдет?

не, для ie так пойдет.

Nekromancer 30.04.2010 15:29

Цитата:

Сообщение от micscr (Сообщение 53721)
Для IE:
<body onselectstart="return false;">
Остальное:
::selection {
background: transparent; /* Safari */
}
::-moz-selection {
background: transparent; /* Firefox */
}
Для хрома вроде 1-е работает.

вообще то можно и так:
-moz-user-select: none; -webkit-user-select: none; user-select: none;


кстати selection и select это немного разные вещи.. точнее задачи у этих селекторов другие.


Часовой пояс GMT +3, время: 21:17.