#javascript
Вопрос:
Как отключить контекстное меню выбора текста в браузере? Возможно ли это?
Вот как выглядит меню выбора текста:
Ответ №1:
Это очень просто, вам просто нужно добавить атрибут выбора пользователя в класс css. Вот небольшой код с p и диапазоном, а также тегом, который невозможно выбрать.
p{
user-select: none;
}
span{
user-select:none;
}
<html>
<head>
<meta charset="utf-8">
</head>
<body>
<!--Full text is unselectable-->
<p>This full text is unselectable</p>
<!--A part of text is unselectable-->
<div>Hello i am selectable but i am <span>unselectable.</span></div>
</body>
</html>
Комментарии:
1. хорошее решение 🙂
2. @crystalthinker Спасибо
3. Но сейчас я не могу выделить текст, мне нужно отключить только собственное меню выбора текста
4. Я даю на это другой ответ. Надеюсь, вы не против использовать javascript
Ответ №2:
Функция поиска в вашем браузере jsut выполняет поиск определенной строки, а затем выбирает текст. Вы можете использовать user-select
CSS-свойство для изменения поведения выделенного текста. Другой возможности для этого нет. Но вы должны тщательно проверить, совместим ли он с необходимыми вам браузерами и операционными системами.
Ответ №3:
Еще один запрос по требованию @OnengLar. Вот лишь небольшой трюк, чтобы сделать это с помощью js и html.
function clicked(event){
event.preventDefault();
//Custom popup here
alert('Right clicked me');//For now just showing an alert
}
<html>
<head>
<meta charset="utf-8">
</head>
<body>
<span oncontextmenu="clicked(event);">Select me and see my different behaviour</span>
</body>
</html>
Ответ №4:
Вы можете отключить это contextmenu
событие, чтобы пользователи не могли взаимодействовать с вашей страницей. Вы можете включить этот документ в широком объеме или только для некоторых элементов.
document.addEventListener('contextmenu', event => {
event.preventDefault()
})
<div>Some text that you can't right click or touch interact with</div>