我在单个html页面中存在多个屏幕并使用敲除绑定,显示或隐藏特定屏幕。我需要在输入字段中循环选项卡焦点(如果存在),仅在所示的div中。我也附上了一个小demo。
下面用于获取最后一个输入字段的JS代码并禁用tab键的默认行为
$('input').last().on('keydown', function (e) {
if (e.keyCode == 9) {
document.body.firstElementChild.focus();
e.preventDefault();
return false;
}
});
敲除绑定以显示和隐藏特定的div
var viewModel = {
showFilterScreen : ko.observable(true),
showPersonalScreen : ko.observable(false)
};
ko.applyBindings(viewModel);
所以我的要求是,应该有一些通用的JS代码,其中tab事件在可见div的最后一个输入字段中停止,如果可见div没有任何输入字段,那么tab根本不起作用。
答案 0 :(得分:0)
试试这个
要查找可见div是否包含任何输入字段,请使用以下代码。如果长度> 0,则表示div具有输入字段
$("#yourdivid").find("input:visible").length
要查找最后一个输入字段,请使用此代码
$("#yourdivid").find("input:visible").last()