【问题标题】:Browser: hold "Alt" key focus on input text浏览器:按住“Alt”键关注输入文本
【发布时间】:2014-06-20 17:29:01
【问题描述】:

当用户输入 html 输入文本时,是否可以在用户故意或误按 Alt 键时阻止浏览器显示其菜单

【问题讨论】:

    标签: javascript browser dom-events alt-key


    【解决方案1】:

    这应该适合你。

    小提琴: http://jsfiddle.net/2dqCD/

    这会检查是否在输入节点上按下了 alt,在小提琴中,您可以看到它仍然允许输入框之外的 alt 键。

    希望这会有所帮助。

    document.addEventListener("keyup",function(e){    
        if(e.keyIdentifier == "Alt" && e.target.nodeName == "INPUT"){ 
            e.preventDefault ? e.preventDefault() : (e.returnValue=false)
        }
    });
    

    【讨论】:

    • 按 alt 后,您必须输入两次才能获得输入焦点
    • 我无法复制那个,你能提供你正在使用的浏览器和操作系统吗?我正在使用 Windows 8.1 和谷歌浏览器 34.0.1847.131
    【解决方案2】:

    这里是@Runtis 代码修改刚刚将e.keyIdentifier == "Alt" 更改为18==e.keyCode
    http://jsfiddle.net/2dqCD/13/

    document.addEventListener("keyup",function(e){    
        if(18 == e.keyCode && e.target.nodeName == "INPUT"){ 
            e.preventDefault ? e.preventDefault() : (e.returnValue=false)
        }
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-12-09
      • 1970-01-01
      • 1970-01-01
      • 2018-04-20
      • 1970-01-01
      • 2022-01-09
      • 1970-01-01
      相关资源
      最近更新 更多