如果在jQuery中关注输入checkboxes
,如何禁用退格按钮?当checkboxes
专注于我并按退格键(keycode = 8)时,浏览器认为我正在尝试返回页面并使用退格作为history.go(-1)
命令。
$("div#types input").focus(function(){
window.onkeydown = function(e){
return !(e.keyCode == 8);
};
答案 0 :(得分:4)
这样就可以随时停止退格按钮:
$(document).keydown(function(e) {
if (e.keyCode === 8)
{
return false;
}
});
现在要弄清楚只有当复选框被聚焦时如何运行...
编辑:
确定一个复选框是否具有焦点的问题在于,只有当它被选中或在代码中实际设置时才会获得焦点。如果单击它,则会检查它但实际上它没有聚焦(至少在chrome / safari中)。这一切都取决于你如何设置焦点。
编辑2:
要使复选框在单击时具有焦点,请添加以下内容:
$('input[type=checkbox]').click(function() {
$(this).focus();
});
...所以把所有这些放在一起,这会使复选框专注于点击并在复选框具有焦点时停止退格按钮(当然所有内部都是$(document).ready函数):
$(document).keydown(function(e) {
if (e.keyCode === 8 && $('input[type=checkbox]:focus').size() > 0)
{
return false;
}
});
$('input[type=checkbox]').click(function() {
$(this).focus();
});