我正试图防止退格键转到上一页。我有防止这种情况的Javascript代码,它可以正常工作...除非焦点位于textbox元素内。问题在于特定的文本框是只读的。如果删除了“只读”属性,那么一切都很好,我可以在文本框中将焦点移到所有想要的退格键上,并且不会转到上一页,但是我需要设置该属性。
下面是防止退格键转到上一页的代码,但允许在非只读输入字段中使用它。
$(document).keydown(function (e) {
if (e.keyCode == 8 && e.target.tagName != 'INPUT' && e.target.tagName != 'TEXTAREA') {
e.preventDefault();
}
});
预期的结果是能够集中显示“只读”文本框,然后按Backspace键,并且应用程序不返回上一页。
答案 0 :(得分:0)
只需检查该字段是否为只读:
$(document).keydown(function (e) {
if (
e.keyCode == 8 &&
(e.target.tagName != 'INPUT' || e.target.readOnly) &&
e.target.tagName != 'TEXTAREA') {
e.preventDefault();
}
});