Это работает для меня
Как и предлагалось, поместите стили CSS в
body, div
{
-webkit-touch-callout: none;
-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: -moz-none;
-ms-user-select: none;
-o-user-select: none;
user-select: none;
}
и добавьте их, чтобы разрешить выбор в полях формы
input, textarea, .userselecton
{
-webkit-touch-callout: text;
-webkit-user-select: text;
-khtml-user-select: text;
-moz-user-select: text;
-ms-user-select: text;
-o-user-select: text;
user-select: text;
}
Обратите внимание на -moz-none то, что нужно, или возможность ввода для входных данных не работает.
для IE, я добавляю
<script type="text/javascript">
window.addEvent( "domready", function()
{
document.addEvent( "selectstart", function(e)
{
if ( (e.target.tagName == "INPUT") ||
(e.target.tagName == "TEXTAREA") ||
(e.target.hasClass("userselecton")))
{
return true;
}
return false;
} );
} );
</script>
Это не только предотвращает выделение фонового текста, но и позволяет выделять поля ввода и и элемент, который вы добавиликласс userseleton включен.