【问题标题】:Prevent typing in Text Field Input, Even Though Field is NOT Disabled/Read-Only防止在文本字段输入中键入,即使字段未禁用/只读
【发布时间】:2016-06-10 02:36:56
【问题描述】:

即使我的字段未禁用或只读,我能否阻止 HTML 文本字段输入?我有这个要求。

也许我可以通过 JS 或 jQuery 阻止所有输入?

【问题讨论】:

    标签: javascript jquery html disabled-input


    【解决方案1】:

    看到这个fiddle

    你可以使用 jQuery 来做这件事。你可以这样做

    $('input').keypress(function(e) {
        e.preventDefault();
    });
    

    您可以只返回 false 而不是使用 preventDefault()。请参阅下面的脚本

    $('input').keypress(function(e) {
        return false
    });
    

    fiddle

    没有 Javascript 的简化版本如下所示。只需将您的 HTML 更改如下

    <input type="text" onkeypress="return false;"/>
    

    fiddle

    【讨论】:

      【解决方案2】:

      如果您希望使该字段完整且难以处理。

      $('input').focus(function(e) {
          $(this).blur();
      });
      

      例如:https://jsfiddle.net/DinoMyte/up4j39qr/15/

      【讨论】:

        【解决方案3】:

        如果您正在寻找只读输入,一种简单的方法是将“只读”添加到输入 HTML。例如,

        <input type="number" readonly>
        

        这样,它不会干扰表单提交或其他事件侦听器。 'readonly' 的输入仍将被提交,但'disabled' 的输入不会。

        供参考:https://www.w3schools.com/TAGS/att_input_readonly.asp

        【讨论】:

        • 标题字面意思是NOT Disabled/Read-Only。不知道为什么这被赞成
        【解决方案4】:

        您可以在 input 事件上返回 false 或使用 .val('') 在每次用户尝试编写内容时重置该字段:

        $('input').input(function(e) {
            $(this).val('');
        });
        

        希望这会有所帮助。


        $('input').on('input', function(e) {
            $(this).val('');
        });
        <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
        <input type='text' />

        【讨论】:

          【解决方案5】:

          接受的答案对我来说很好,但我还想包括 ShiftEscdelete 键。在这种情况下使用keydown 而不是keypress

          $('input').keydown(function(e) {
            e.preventDefault();
          });
          

          文档:https://api.jquery.com/keydown/

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2015-05-14
            • 2012-09-27
            • 2011-12-06
            • 1970-01-01
            • 1970-01-01
            • 2015-05-27
            • 1970-01-01
            相关资源
            最近更新 更多