我试图阻止keydown
浏览器处理退格事件,我使用的是 jQuery 库,所以我需要获取原始事件,但是在某些浏览器(至少是 Firefox)上,尝试设置原始事件时出现错误事件 keyCode = 0,它给出并错误说该属性只存在一个 getter。
function blockBackspace(event) {
var altKey = event.originalEvent.altKey;
var srcElementType = event.originalEvent.srcElement;
if( (altKey) || ((event.keyCode == 8) && (srcElementType != "text" && srcElementType != "textarea" && srcElementType != "password"))
|| ((event.ctrlKey) && ((event.keyCode == 78) || (event.keyCode == 82)) ) || (event.keyCode == 116) )
{
event.keyCode = 0;
event.returnValue = false;
event.originalEvent.keyCode = 0;
event.originalEvent.returnValue = false;
//sets process backspaceFlag to keep multiple handlers from removing text
processBackspace = true;
}
}
所以我不确定下一步该做什么,我找到的每个解决方案都会产生更多问题。必须有解决此问题的方法,否则其他文本区域(这就是我正在构建的那种)将不起作用。