使用ASP.NET中的JavaScript防止退格键转到上一页

时间:2019-04-17 16:26:09

标签: javascript asp.net

我正试图防止退格键转到上一页。我有防止这种情况的Javascript代码,它可以正常工作...除非焦点位于textbox元素内。问题在于特定的文本框是只读的。如果删除了“只读”属性,那么一切都很好,我可以在文本框中将焦点移到所有想要的退格键上,并且不会转到上一页,但是我需要设置该属性。

下面是防止退格键转到上一页的代码,但允许在非只读输入字段中使用它。

        $(document).keydown(function (e) {
            if (e.keyCode == 8 && e.target.tagName != 'INPUT' && e.target.tagName != 'TEXTAREA') {
                e.preventDefault();
            }
        });

预期的结果是能够集中显示“只读”文本框,然后按Backspace键,并且应用程序不返回上一页。

1 个答案:

答案 0 :(得分:0)

只需检查该字段是否为只读:

$(document).keydown(function (e) {
    if (
       e.keyCode == 8 &&
       (e.target.tagName != 'INPUT' || e.target.readOnly) && 
       e.target.tagName != 'TEXTAREA') {
                e.preventDefault();
    }
});