Приведенный ниже код не позволяет Ctrl+A выбрать всю HTML-страницу, а мышь не выделяет ничего, и это здорово.
Но, к сожалению, Ctrl+A не работает с некоторыми элементами в каждом браузере так, как хотелось бы:
- Ctrl+A, когда фокус находится на ссылке, выделении или кнопке: ничего не должно быть выделено
- Ctrl+A, когда фокус находится на поле ввода: текст в текущем поле ввода должен быть выделен.
С Mozilla Firefox и Internet Explorer все работает как надо. Здорово!
Но с Google Chrome, Opera, Edge и Safari это не работает должным образом. Когда фокус находится на ссылке, выделении или кнопке, Ctrl+A выделяет текст всех полей ввода.
Как я могу предотвратить это нежелательное поведение в Google Chrome, Opera, Edge и Safari?
Примечание. Если фокус находится в поле ввода, сочетание клавиш Ctrl+A должно по-прежнему выделять текст текущего поля ввода.
И вот мой код:
<html>
<head>
<style type = "text/css">
table {
-webkit-user-select: none;
-ms-user-select: none;
user-select: none;
}
</style>
</head>
<body>
<table>
<tr>
<td>
Normal Text
</td>
</tr>
<tr>
<td>
<a href = "">Link</a>
</td>
</tr>
<tr>
<td>
<select>
<option value = "a">Select A
<option value = "b">Select B
</select>
</td>
</tr>
<tr>
<td>
<input type = "button" value = "Button">
</td>
</tr>
<tr>
<td>
<input type = "text" value = "Input Field 1">
<input type = "text" value = "Input Field 2">
</td>
</tr>
</table>
</body>
</html>