【发布时间】:2019-04-18 02:17:31
【问题描述】:
我试图阻止退格键转到上一页。我有 Javascript 代码来防止这种情况,它可以工作......除非焦点在文本框元素内部。问题是特定的文本框是只读的。如果我删除只读属性,那么一切都很好,我可以在文本框中按我想要的所有我想要的焦点,它不会转到上一页,但我需要设置属性。
以下是防止退格键转到上一页的代码,但允许在非只读输入字段中使用它。
$(document).keydown(function (e) {
if (e.keyCode == 8 && e.target.tagName != 'INPUT' && e.target.tagName != 'TEXTAREA') {
e.preventDefault();
}
});
预期的结果是能够聚焦只读文本框,然后按退格键,应用程序不会返回上一页。
【问题讨论】:
-
这不是你想要的,但如果你没有找到解决方案,你可以use the
OnBeforeUnloadevent to prevent users from accidentally navigating away。 (另一种选择是仅模拟一个只读文本框,将其设置为只读,然后监听 onchange 事件,将值重置为固定值。) -
添加
e.target.attributes["readonly"]检查。同时,这个问题与 ASP.NET 无关。
标签: javascript asp.net