我在MVC中有一个弹出页面,当我从控制器调用一个方法时该页面即将到来,但是当我按下退格键时弹出窗口显示在屏幕上,它就会消失。怎么办?
function MoveFocus()
{
document.getElementById("Button1").focus();
$(document).on("keydown", function (event) {
if (event.keyCode === 8) {
event.preventDefault();
}
});
}
我在视图中的每个输入字段中调用此MoveFocus Funstion。
答案 0 :(得分:1)
我认为停止传播是你所寻求的......
" event.stopPropagation()方法停止将事件冒泡到父元素,从而阻止执行任何父事件处理程序。"
Source
if (event.keyCode === 8) {
event.stopPropagation()
}
答案 1 :(得分:1)
这将执行Job以防止退格默认事件......
$(document).unbind('keydown').bind('keydown', function (event) {
var doPrevent = false;
if (event.keyCode === 8) {
var d = event.srcElement || event.target;
if ((d.tagName.toUpperCase() === 'INPUT' &&
(
d.type.toUpperCase() === 'TEXT' ||
d.type.toUpperCase() === 'EMAIL' ||
d.type.toUpperCase() === 'DATE')
) ||
d.tagName.toUpperCase() === 'TEXTAREA') {
doPrevent = d.readOnly || d.disabled;
}
else {
doPrevent = true;
}
}
if (doPrevent) {
event.preventDefault();
}
});