我想只阻止网页上按键操作的某些操作。特别是退格。通常情况下,我会做这样的事情:
function keyPress(ev) {
if(ev.keyCode === 8) {
ev.preventDefault();
}
// do cool stuff here
}
$(document).keydown(keyPress);
该代码阻止退格所做的所有默认操作。我想阻止它导航到最后一页,但我想允许它删除文本字段中的字符。如何防止仅导航而不防止文本操作?
答案 0 :(得分:1)
对于您提到的特定情况,您可以检查用户是否有重点文本字段,如果是,则不会阻止默认。
function keyPress(ev) {
var targetElTag = document.activeElement.tagName;
if (ev.keyCode === 8 && targetElTag !== 'TEXTAREA') {
ev.preventDefault();
}
}
您还希望包含您想要退格的任何其他可聚焦元素。