Чтобы стилизовать указатель мыши, вам нужно использовать стиль cursor
CSS.
.normalpointer {
cursor:default;
}
Это работает во всех браузерах. (Существует несколько типов указателей, которые могут быть стилизованы, но в старых браузерах возникают проблемы с кроссбраузерностью, но default
определенно работает везде)
Отключить возможность выделения текста немного сложнее: вам нужно сделать несколько вещей, потому что поддержка браузера различна.
Для браузеров, которые поддерживают это через CSS, вам необходимо следующее:
.unselectable {
-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: none;
-o-user-select: none;
user-select: none;
}
т. Е. user:select:none;
плюс куча вариантов, специфичных для браузера. Некоторые из этих специфичных для браузера вариантов, вероятно, могут быть отброшены сейчас, поскольку поддержка улучшилась, но если вы все равно сохраните их, вы сможете поддерживать людей, которые не обновляли свои браузеры в течение некоторого времени.
Я полагаю, что вышеизложенное также работает в IE9, но старые версии IE определенно не поддерживают его. Для этого вам нужно добавить следующий атрибут к элементу, который вы хотите сделать невыбираемым: unselectable="on"
Таким образом, невыбираемый div во всех браузерах будет выглядеть так:
<div class='unselectable' unselectabnle='on'>....</div>
(с классом, ссылающимся на приведенную выше таблицу стилей)
Альтернативой стилю user-select
CSS будет использование ::selection
CSS. Это позволяет вам стилизовать внешний вид текста при его выделении. Вы можете использовать это, например, чтобы текст выделения выглядел так же, как и обычный текст, что позволяло бы выделять текст, не изменяя его визуально:
.myclass::selection {
background: transparent;
}
опять же, вам могут понадобиться некоторые таблицы стилей, специфичные для поставщика, для поддержки старых версий некоторых браузеров - например:
.myclass::-moz-selection {
background: transparent;
}
Надеюсь, это поможет.