Вы можете присоединить слушателя к элементам input
в документе, проверить, нажал ли пользователь клавишу =
, и, если это так, предпринять действие.
Примерно так должно работать:
const textInput = document.querySelector('input');
textInput.addEventListener("keydown", function(event) {
if (event.keyCode === 187) {
console.log("equals pressed");
// Prevent default behaviour
event.preventDefault();
return false;
}
});
<input type="text"></input>
Но я бы не стал полагать, что это "безопасно", поскольку пользователь может переопределить поведение JS в своем браузере.Вы все еще должны санировать данные на стороне сервера.
Обновление
Для обработки случая, когда пользователь вставляет что-то в input
поле, вы можете перехватить вставленную строку и убрать недопустимые символы (в данном случае знак равенства).
Пример:
textInput.onpaste = function(e) {
e.preventDefault();
clipboardData = e.clipboardData;
pastedData = clipboardData.getData('Text');
textInput.value = pastedData.replace("=", "");
}
Или вы можете просто e.preventDefault()
, чтобы вообще отключить вставку.