当jQuery中的输入复选框处于焦点时,如何禁用退格?

当jQuery中的输入复选框处于焦点时,如何禁用退格?,jquery,input,checkbox,backspace,Jquery,Input,Checkbox,Backspace,当jQuery中的input复选框被选中时,如何禁用backspace按钮?当选中复选框时,我按下backspace(keycode=8),浏览器会认为我试图返回页面,并将backspace用作历史记录。go(-1)命令 $("div#types input").focus(function(){ window.onkeydown = function(e){ return !(e.keyCode == 8); }; 这将阻止backspace按钮在任何时候返回: $(docume

当jQuery中的input
复选框被选中时,如何禁用backspace按钮?当选中
复选框时,我按下backspace(keycode=8),浏览器会认为我试图返回页面,并将backspace用作
历史记录。go(-1)
命令

$("div#types input").focus(function(){
  window.onkeydown = function(e){
    return !(e.keyCode == 8);
};

这将阻止backspace按钮在任何时候返回:

$(document).keydown(function(e) {
  if (e.keyCode === 8)
  {
     return false;
  }
});
现在想知道如何只在选中复选框时运行它

编辑:

确定复选框是否具有焦点的问题在于,只有当复选框被标记为或实际在代码中设置时,它才会获得焦点。如果单击它,它会被选中,但实际上它不会聚焦(至少在chrome/safari中)。这一切都取决于你如何设置焦点

编辑2:

要使复选框在单击时具有焦点,只需添加以下内容:

$('input[type=checkbox]').click(function() {
   $(this).focus();
});
…因此,将所有内容放在一起,这将使复选框的焦点集中在单击上,并在复选框有焦点时停止退格按钮(全部在$(document)中)。当然,就绪功能:


这将阻止backspace按钮在任何时候返回:

$(document).keydown(function(e) {
  if (e.keyCode === 8)
  {
     return false;
  }
});
现在想知道如何只在选中复选框时运行它

编辑:

确定复选框是否具有焦点的问题在于,只有当复选框被标记为或实际在代码中设置时,它才会获得焦点。如果单击它,它会被选中,但实际上它不会聚焦(至少在chrome/safari中)。这一切都取决于你如何设置焦点

编辑2:

要使复选框在单击时具有焦点,只需添加以下内容:

$('input[type=checkbox]').click(function() {
   $(this).focus();
});
…因此,将所有内容放在一起,这将使复选框的焦点集中在单击上,并在复选框有焦点时停止退格按钮(全部在$(document)中)。当然,就绪功能:


为什么要破坏典型的浏览器UI模式?我强烈反对这是必要的,除非您正在构建一个非常专业的web应用程序,其中键盘快捷键非常常见。这正是我正在做的。这不是一个面向公众的网页。此应用程序将仅在两台计算机上使用,并且需要此功能。为什么要尝试破坏典型的浏览器UI模式?我强烈反对这是必要的,除非您正在构建一个非常专业的web应用程序,其中键盘快捷键非常常见。这正是我正在做的。这不是一个面向公众的网页。此应用程序将仅在两台计算机上使用,并且需要此功能。有关如何解决此问题的任何建议?有关如何解决此问题的任何建议?