按退格键时禁用向后导航,允许在字段中退格

时间:2016-05-27 14:12:12

标签: javascript

我该如何修改:

<script type="text/javascript">
    document.onkeydown = function(event) {
        if (event.keyCode === 8) {
            event.preventDefault();
        }
    };
</script>

允许用户在页面上的表单字段中退格,但是阻止他们错误地向后导航?

2 个答案:

答案 0 :(得分:1)

测试current.target以查看它是否为输入:

document.onkeydown = function(event) {
    var key = event.keyCode || event.which,
        nodeName = event.target.nodeName.toLowerCase();

    if (key === 8 && nodeName !== 'input') {
        alert('that\'s a nono');
        event.preventDefault();
    }
};

另请注意event.which支持旧版浏览器。但这当然完全取决于你。

<强> DEMO

答案 1 :(得分:1)

您还可以根据您的要求添加其他输入字段,例如&#34; textarea&#34;,&#34; div&#34;等。

&#13;
&#13;
document.onkeydown = function(event) {
        nodeName = event.target.nodeName.toLowerCase();

    if ( (event.keyCode === 8 || event.which=== 8 ) && nodeName !== 'input') {
        event.preventDefault();
    }
};
&#13;
&#13;
&#13;