我有一个在我的页面上的元素之间更改焦点时添加/删除类的函数。
当用鼠标单击切换焦点时,会产生所需的效果但是当使用制表符按钮切换时,它似乎在切换到新元素之前读取焦点?
HTML:
<div class="text-input">
<label>First Name</label>
<input placeholder="">
</div>
<div class="text-input">
<label>First Name</label>
<input placeholder="">
</div>
JS:
$(document).ready(function () {
$("body").click(function () {activateInput($(this))});
$('body').keydown(function(e) {
var code = e.keyCode || e.which;
if (code == '9') {activateInput($(this))}
});
});
function activateInput(passThis) {
$(".text-input input, .text-input label").removeClass("active");
if ($(".text-input input").is(":focus")) {
$(":focus").parent().children("label, input").addClass("active");
}
}
答案 0 :(得分:0)
使用keyup
$(document).ready(function () {
$("body").click(function () {activateInput()});
$('body').keyup(function(e) {
var code = e.keyCode || e.which;
if (code == 9) {activateInput();}
});
});
function activateInput() {
$(".text-input input, .text-input label").removeClass("active");
$(':focus').parent().children("label, input").addClass("active");
}
&#13;