Javascript-форум (https://javascript.ru/forum/)
-   (X)HTML/CSS (https://javascript.ru/forum/xhtml-html-css/)
-   -   альтернатива -moz-user-select -moz-user-select (https://javascript.ru/forum/xhtml-html-css/16835-alternativa-moz-user-select-moz-user-select.html)

Vantedur 24.04.2011 23:47

альтернатива -moz-user-select -moz-user-select user-select unselectable
 
css
-moz-user-select:none;
-webkit-user-select:none;
user-select:none;

html
unselectable='on'

собстно она есть?
http://htmlbook.ru/css/-moz-user-select
Ато показатели совместимости с браузерами не внушают уверености в работоспособности функции.

poorking 25.04.2011 07:13

Ваш пример вроде как везде должен работать. По крайней мере в новых версиях браузеров точно.

UPD. А какие альтернативы нужны? Вы что именно делаете? у вас что, DragNDrop или кнопочки какие нибудь? Если просто нужно сделать невыделяемым кусок текста (зачем - не знаю, но вдруг), то можно накрыть дивом сверху например

trikadin 26.05.2011 00:49

Цитата:

Сообщение от poorking
то можно накрыть дивом сверху например

Кстати, не спасает. Текст отлично выделяется под эти блоком (если не весь экран накрыт, конечно. Но и тогда - возможно).

poorking 26.05.2011 12:14

function preventSelection(element){
	var preventSelection = false;
	function removeSelection(){
		if (window.getSelection){
			window.getSelection().removeAllRanges();
		}else if (document.selection && document.selection.clear){
			document.selection.clear();
		}
	}
	function killCtrlA(event){
        if (event.target.tagName.match(/INPUT|TEXTAREA/i)){
			return;
		}
		var key = event.keyCode || event.which;
        if (event.ctrlKey && key == 'A'.charCodeAt(0)){
			removeSelection();
			event.preventDefault();
		}
	}
	Event.add(element, "mousemove", function(){
		if(preventSelection){
			removeSelection();
		}
	});
	Event.add(element, "mousedown", function(e){
		preventSelection = !e.target.tagName.match(/INPUT|TEXTAREA/i);
	});
	Event.add(element, "mouseup", function(){
		if(preventSelection){
			removeSelection();
			preventSelection = false;
		}
	});
	Event.add(element, "keydown", killCtrlA);
	Event.add(element, "keyup", killCtrlA);
}

trikadin 26.05.2011 19:15

А теперь я отключаю JS))

Всегда будут способы скопировать текст. В web - уж точно.

poorking 26.05.2011 19:28

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

trikadin 02.06.2011 01:00

Ну в принципе да. Кстати, если не сложно, можно ссылку на топик?

walik 02.06.2011 14:34

http://javascript.ru/forum/offtopic/...%40ntenta.html


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