2010-07-30 4 views
7

Я создаю сенсорный киоск, который будет использовать Google Chrome для отображения содержимого. Нет клавиатуры, кроме виртуальной клавиатуры, которая появится для ввода информации о имени на определенных экранах. Нигде в киоске пользователь не должен ничего выбирать.Отключить выбор текста в Chrome

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

Первоначально я использовал Opera, у которого есть функция конфигурации для отключения выбора текста. Я не мог найти эквивалент для этого в Chrome.

Кто-нибудь знает, есть ли в этом случае конфиг для Chrome, или, как вариант, Javascript выполнит это?

ответ

8

Я не знаю, если есть параметр конфигурации в хроме для этого, но быстро Google (source) превратил вверх:

window.onload = function() { 
    document.onselectstart = function() {return false;} // ie 
    document.onmousedown = function() {return false;} // mozilla 
} 


/* You can attach the events to any element. In the following example 
I'll disable selecting text in an element with the id 'content'. */ 

window.onload = function() { 
    var element = document.getElementById('content'); 
    element.onselectstart = function() { return false; } // ie 
    element.onmousedown = function() { return false; } // mozilla 
} 

PS:

Просто испытание, чтобы увидеть, если это будет вмешиваться в любые события onclick, и это не так.

+0

Действительно! Если бы у меня был первенец, он был бы твоим. И какой фантастический ресурс на internet.com .... такой непонятный веб-адрес неудивительно, что я его никогда не нашел ..;) –

+0

@Ron Lol! И, спасибо :) –

+0

, вероятно, должен быть отмечен как правильный ответ –

14

Почему бы просто не использовать CSS для удаления эффекта выбора вместо того, чтобы полагаться на Javascript?

*::selection { 
    background:transparent; 
} 

*::-moz-selection { 
    background:transparent; 
} 

*::-webkit-selection { 
    background:transparent; 
} 

/* DO NOT COMBINE... IF COMBINED, IT WILL REFUSE TO WORK */ 
/* FOR CHROME 5+ (untested in 4), ONLY ::SELECTION IS REQUIRED */ 

Выбор по-прежнему возможен, но не будет никаких синих прямоугольников. Фактически, выбор будет полностью невидимым для пользователя.

Для чего я могу читать из вашего сценария, вы просто пытаетесь избавиться от прямоугольников выбора.

+0

это тоже работает, и мне нравятся CSS-решения ... Я только что понял, что другое поведение, которое я пытаюсь убить, - это возможность перетаскивать изображения на странице. Смотря на решение css для этого. –

+0

Обратите внимание, что это не полностью скрывает все эффекты. Если пользователь выбирает текст, выбор не будет видимым, true. Но если они затем попытаются перетащить палец в пределах выделения, выделенный текст начнет перемещаться в блоке, как обычно. Просто нужно иметь в виду. –

Смежные вопросы