Показать сообщение отдельно
  #9 (permalink)  
Старый 01.12.2022, 14:23
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,070

workpage,
<!DOCTYPE html>
<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <script>
document.addEventListener( "DOMContentLoaded" , function() {
 const on = (parent, event, selector, handler) => parent.addEventListener(event, ({target}) => {
     if(target = target.closest(selector)) handler(target);
 });
 const limit = (min, max) => el => {
    let txt = el.value, reg = /[^-0-9]/g;
    if(txt == "-") return;
    if(reg.test(txt)){
        reg.lastIndex = 0;
        txt = txt.replace(reg, "");
    };

    let num = Math.max(min, Math.min(+txt, max));
    el.value = txt && num != txt ? num : txt;
 };
on(document, "input", ".num", limit(-10, 255));
  });

  </script>
</head>
<body>
<input type="text" maxlength="3" value="" class="num" /></body>
</html>
Ответить с цитированием