#css #html #select #canvas
#css #HTML #выберите #canvas
Вопрос:
Я прослушиваю события щелчка внутри холста html5, и это работает просто отлично. Однако, когда я нажимаю в любом месте на изображении, браузер выделяет его, как если бы оно было выделено (аналогично тому, как изображение может выглядеть выделенным, если щелкнуть по странице). Мне было любопытно, знает ли кто-нибудь, как отключить выбор HTML-элементов, таких как canvas. Я не хочу, чтобы холст отображался выделенным, когда кто-то нажимает на него.
Ответ №1:
Переходя на bebraw, разберитесь со стилями CSS и добавьте это в head:
<style type="text/css">
canvas {
-webkit-touch-callout: none;
-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
outline: none;
-webkit-tap-highlight-color: rgba(255, 255, 255, 0); /* mobile webkit */
}
</style>
Ответ №2:
Вы могли бы попробовать применить несколько правил CSS к этим:
user-select: none;
-webkit-user-select: none;
-moz-user-select: none;
Как упоминал Майкл, стоит проверить disableTextSelect от jQuery. Даже если вы в конечном итоге не будете его использовать, изучение исходного кода может дать некоторое представление.
Ответ №3:
Казалось, что только последнее из этих правил css делает это. Остальные правила вместе не работали (в Safari iOS5), пока я не добавил последнее.
-webkit-tap-highlight-color: rgba(255, 255, 255, 0);
Ответ №4:
Я бы использовал jQuery. $('.noSelect').disableTextSelect();
Ответ №5:
Несколько связанный: если проблема в том, что курсор становится значком выбора (например. при перетаскивании на canvas), вы можете отключить это с помощью этого CSS на canvas:
cursor: defau<
или предотвращение поведения события по умолчанию в обработчике наведения курсора мыши:
event.preventDefault();