Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   запрет выделения текста опера и фокс (https://javascript.ru/forum/misc/24644-zapret-vydeleniya-teksta-opera-i-foks.html)

czp 08.01.2012 21:24

запрет выделения текста опера и фокс
 
подскажите как сделать что бы текст не выделяся
document.ondragstart = document.body.onselectstart = function() {return false};

такое робит только в ие и хроме, как сделать в опере и фоксе?

devote 08.01.2012 21:30

просто перехватывай нажатие ЛКМ и отменяй действие по умолчанию

Octane 08.01.2012 21:31

http://habrahabr.ru/blogs/webdev/18080/

Livaanderiamarum 08.01.2012 21:31

document.body.onmousedown = function() {return false};

czp 09.01.2012 10:23

document.body.onmousedown = function() {return false};

тогда драг анд дроп работать не будетб

Octane спасибо большое +
а обратно как?я а то обратно не получается, драг дропом перетянул, и после нельзя выделять текст

Livaanderiamarum 09.01.2012 18:19

Цитата:

Сообщение от czp (Сообщение 149057)
document.body.onmousedown = function() {return false};

тогда драг анд дроп работать не будетб

Octane спасибо большое +
а обратно как?я а то обратно не получается, драг дропом перетянул, и после нельзя выделять текст

НУ ЛИЧНО я как делаю:
во время драгндропа я создаю невидимый прозрачный div по верх ВСЕГО.
а когда человек отпускает мышку я этот див убираю.

czp 09.01.2012 19:34

Цитата:

Сообщение от Livaanderiamarum (Сообщение 149163)
НУ ЛИЧНО я как делаю:
во время драгндропа я создаю невидимый прозрачный div по верх ВСЕГО.
а когда человек отпускает мышку я этот див убираю.

как вариант можно:)

Gozar 09.01.2012 21:13

В Опере если выделение начнется из другого элемента, то выделиться и текст, который выделяться не должен. Хабрамогильнички не помогут.

devote 09.01.2012 21:46

Цитата:

Сообщение от Gozar
В Опере если выделение начнется из другого элемента, то выделиться и текст, который выделяться не должен. Хабрамогильнички не помогут.

Ты уверен в этом? Это хром вообще выделяет по идиотски, не только текст а вообще всю разметку. А опера ничем в выделении от фф не отличается.

kuzkuz 10.01.2012 17:39

Я использую в fire fox вот такую структуру:

<style>
div#div1 {
 /* Для Mozilla FireFox */ -moz-user-select: none; 
/* Для Safari, Chrome */ -khtml-user-select: none;
 /* Общее свойство */ user-select: none; } 
</style>

<div id="div1">
/* тут то что нужно запретить выделять.
<div>

Gozar 10.01.2012 18:28

Цитата:

Сообщение от devote (Сообщение 149204)
Ты уверен в этом? Это хром вообще выделяет по идиотски, не только текст а вообще всю разметку. А опера ничем в выделении от фф не отличается.

Опера 10.50 этим точно страдает. Пытался решить проблему по ссылке приведенной Octane месяца 4 назад. Поведение Опера именно такое как я описал выше.

Сейчас проверил 11.60 поведение осталось прежним, т.е. ничего не изменилось. Хром и FF работают нормально - выделение обходит запрещенный элемент.

Livanderiaamarum 10.01.2012 19:51

Ты уверен в этом? Это хром вообще выделяет по идиотски, не только текст а вообще всю разметку.
-----------------
ВООБЩЕ-ТО так все браузеры делают кроме оперы, опера хоть и говнобраузер еле еле ИЕ обгоняет, но текст она выделяет ЗАЧЕТНО.. например если я двигую курсор в бок она НЕ БУДЕТ ВЫДЕЛЯТЬ ТЕКСТ КОТОРЫЙ ВВЕРХУ(я ведь не вел мышку вверх блять, захотел бы - повел!)

Nekromancer 10.01.2012 20:18

Цитата:

Сообщение от Livanderiaamarum
ВООБЩЕ-ТО так все браузеры делают кроме оперы

Так делает вебкит - это специфика движка. Так как там всё искусственное, там и выделение искусственное.
Гекко же, на оборот старается пользоваться преимущественно возможностями ОС, соответственно там такое же выделении как вашей операционной системе. Из-за этого оно наиболее привычное, лично мне.

Gozar 10.01.2012 20:23

Мне до лампочки, я оставил поведение у себя и дальше клепать костыли не стал, т.к. пользователь должен понимать что он делает, если не понимает, то меня это не касается и место ему у психиатра. Жить по крайней мере не мешает, просто нужно быть в курсе подобного поведения Оперы.

Gozar 10.01.2012 20:26

В DD(драгадроп) главное не это, главное сбрасывать перенос если он потерян за рамками окна, я сбрасываю по клику - всё удобно и логично.

ps: это просто совет, как грабли обойти. Сам писал, парился.

czp 11.01.2012 16:41

Цитата:

Сообщение от kuzkuz (Сообщение 149358)
Я использую в fire fox вот такую структуру:

<style>
div#div1 {
 /* Для Mozilla FireFox */ -moz-user-select: none; 
/* Для Safari, Chrome */ -khtml-user-select: none;
 /* Общее свойство */ user-select: none; } 
</style>

<div id="div1">
/* тут то что нужно запретить выделять.
<div>

не помогает
правда в боди помещал
html, body {
...
-moz-user-select: none; 
-khtml-user-select: none;
 user-select: none; 
}

а хабраковский что Октан дал помогает , но только в хабракском не знаю как сделать обратно после сброса элема подскажите как включить выделение?
или есть еше способы запрет на выделение текста?


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