【问题标题】:Why does mobile does not accept avoiding asc when typing in textarea?为什么手机输入textarea时不接受回避asc?
【发布时间】:2021-06-21 22:12:21
【问题描述】:

下面的 JavaScript 代码用于“避免”字符 > (asc 60) 仅适用于桌面设备,不适用于移动设备。

<textarea name='notes' id='ta' wrap='physical' cols='65' rows='8' style='width: 80%;' tabindex='14'></textarea>
    
    <script>
    var ta = document.getElementById("ta");
    ta.addEventListener('keypress',
        function (e) {
           if (e.keyCode == 60) {
               alert('do not use <');
               e.preventDefault();
           }
        }
    );
    </script>

【问题讨论】:

  • 您在移动设备上是否有错误消息。代码在哪一行停止执行?

标签: html textarea


【解决方案1】:

Keydown 在移动设备方面众所周知,因为某些浏览器不支持它。话虽如此,keydown 应该可以工作,但为了绝对安全,我会使用input,请参阅下面的我的 sn-p。

<textarea name='notes' id='ta' wrap='physical' cols='65' rows='8' style='width: 80%;' tabindex='14'></textarea>
    
    <script>
    var ta = document.getElementById("ta");
    ta.addEventListener('input',
        function (e) {
           if (e.data == "<") {
               alert('do not use <');
               ta.value = ta.value.replace(/</g, "");
               e.preventDefault();
           }
        }
    );
    </script>

【讨论】:

  • 首先你应该在移动设备上检查这个 sn-p 是否有效。如果此答案有效,则接受该答案将有助于将来查看此帖子的人们找到他们需要的东西。单击答案左侧的绿色复选标记接受。但只有在您确定此答案适用于移动设备时才这样做。
  • @Roseli 如果您认为这是解决方案,您介意接受这个答案以帮助未来的人们找到答案吗?
猜你喜欢
  • 1970-01-01
  • 2014-03-11
  • 1970-01-01
  • 1970-01-01
  • 2016-03-05
  • 2020-05-13
  • 1970-01-01
  • 2014-03-18
  • 1970-01-01
相关资源
最近更新 更多