Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Общие вопросы > Аналог .onselectstart = function(){return false;}


Автор: Serge2k 20.7.2005, 00:54
Госопода.... Как запретить выделение текста в браузерах отличных от ie? аналог onselectstart = function(){return false;} в ie...

Автор: Sardar 20.7.2005, 01:17
Serge2k пока не знаем, потому собственный drag&drop текста организовать трудно smile
Можо постоянно сбрасывать селекцию, но это криво.

Автор: Serge2k 20.7.2005, 11:41
мда... ну вот его(drag and drop) то я и делаю.... Я уже нашел готовый скрипт... В нем все это уже реализовано... Но, т.к. я почти JS не знаю, разобраться очень сложно.... и притом кода там 1500 строк... Но если кому интересно
http://www.walterzorn.com/dragdrop/dragdrop_e.htm
Там можно этот скрипт скачать и посмотреть примеры... Пример с перетаскивающимся div в самом низу....

Автор: Gregof 21.7.2005, 09:08
Для Mozilla можно так:
Код

.noselect
{
     -moz-user-select: none; 
}

Код

     <div class="noselect">
          Don't even think of selecting me
     </div>

Автор: Gregof 21.7.2005, 09:45
Так же помогает:
Код

<div onmousedown="return false">Don't even think of selecting me</div>


Автор: Sardar 21.7.2005, 13:15
Gregof да с последним примером везде должно работать если отрубать дефолтовое действие через return false/evetn.returnValue=false/event.preventDefault();

Навёл на мысль, плюс smile

Автор: Serge2k 21.7.2005, 18:50
Gregof Sardar
Большое человеческое спасибо.... дописал ф-цию, отвечающую за onmousedown так, чтоб она возвращала false и добился нужного результата....

Автор: Aliance 31.7.2005, 14:48
Где-то я давал нечто подобное:
Код

<SPAN UNSELECTABLE="on" >
<BR />
Попробуй и выдели меня?! :-) Ааа, не получаеЦЦа =) То-то :-)
<BR />
</SPAN>

Если растянуть его на весь документ, ‘от дурака’ спасет. Но от Ctrl+A нет.

Автор: Sardar 31.7.2005, 14:55
Бесполезная фича в плане переносимости, но хороша в HTA приложениях. Элемент имеющий сей аттрибут не только не селектируеться, но и не обнуляет селекцию, т.е. отселектировав что-нибудь, а затем кликнув на не-селектируемом элементе, селекция не исчезнет.

Инфа: http://msdn.microsoft.com/workshop/author/dhtml/reference/properties/unselectable.asp

Автор: Alx 13.2.2006, 22:44
onmousedown не помогает smile

Автор: Destruction 13.2.2006, 23:58
И как не работает? Совсем? ;)

Пример, обозреватель, версия..

Автор: Alx 14.2.2006, 07:46
не иначе smile
Добавлено @ 07:47
Код

<div onmousedown="return false">Don't even think of selecting me</div>

ie6

Автор: Sardar 15.2.2006, 00:45
Alx, это совершенно разные события (хотя и логично, но отмена дефолтового действия на onmousedown не отменяет начало селекции), для IE селекцию отрубаем... читай название топа smile

Автор: Alx 15.2.2006, 16:54
хех, действительно) я проса не догадался в других попробывать smile
но это не выход, т.к. работает только в FF и то криво, т.к. еси выделять с другого объекта, например с body, то выделение все равно есть.
но так же это не выход, потому что для FF есть свойство
-moz-user-select: none; , таким образом надо придумвать что-то только для Opera...
Добавлено @ 16:56
с unselectable тоже
Цитата

т.к. еси выделять с другого объекта, например с body, то выделение все равно есть.

Автор: Sardar 15.2.2006, 18:20
Цитата(Alx @ 15.2.2006, 15:54 Найти цитируемый пост)
таким образом надо придумвать что-то только для Opera...

По идее это фишка из разряда "больше мешает" (например "защита текста" от копирования), поэтому даже если в Oпере и будет, то отключаемо. За это оперу и ценим, что предотвращает многие извраты smile

Автор: Alx 15.2.2006, 18:57
Sardar,
не знаю, кто её ценит...
понятное дело, если это информационная классическая веб-страница, а если это игра или приложение, то селекция никому не нужна и мешает smile

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)