【问题标题】:How to disable the default behaviour of the backspace button in the browser如何禁用浏览器中退格按钮的默认行为
【发布时间】:2016-05-23 15:22:07
【问题描述】:

我想创建一个网页来监听正文的按键事件以获取用户正在输入的内容,包括用于删除用户输入的最后一个字母的退格键。

那么如何在浏览器中禁用退格按钮(返回)的默认行为来实现呢?

【问题讨论】:

    标签: javascript browser webkit


    【解决方案1】:

    您可以通过 keydown 事件禁用退格:

    $('html').bind('keydown', function (e) {
            if (e.keyCode == 8) {
                return false;
            }
        });
    

    【讨论】:

    • 你只是阻止任何人删除任何输入中的文本。
    • 是的。问题是“如何禁用浏览器中退格按钮(返回)的默认行为”
    • 表示用户希望阻止退格按钮将页面导航回历史记录中的上一页。
    【解决方案2】:

    我希望这对你有用。

    $(document).unbind('keydown').bind('keydown', function (event) {
    var doPrevent = false;
    if (event.keyCode === 8) {
        var d = event.srcElement || event.target;
        if ((d.tagName.toUpperCase() === 'INPUT' && 
             (
                 d.type.toUpperCase() === 'TEXT' ||
                 d.type.toUpperCase() === 'PASSWORD' || 
                 d.type.toUpperCase() === 'FILE' || 
                 d.type.toUpperCase() === 'SEARCH' || 
                 d.type.toUpperCase() === 'EMAIL' || 
                 d.type.toUpperCase() === 'NUMBER' || 
                 d.type.toUpperCase() === 'DATE' )
             ) || 
             d.tagName.toUpperCase() === 'TEXTAREA') {
            doPrevent = d.readOnly || d.disabled;
        }
        else {
            doPrevent = true;
        }
    }
    
    if (doPrevent) {
        event.preventDefault();
    }
    

    });

    【讨论】:

      猜你喜欢
      • 2011-08-06
      • 1970-01-01
      • 2010-10-31
      • 2014-04-17
      • 1970-01-01
      • 1970-01-01
      • 2014-08-21
      相关资源
      最近更新 更多