Javascript jqueryfocusin不';调用.focus()时无法工作并返回false;
我对jQuery(1.7.2)的focusin/focusout事件有问题 我在一个div中有两个输入。当其中一个获得焦点时,我想向div添加一个类。如果没有任何输入具有焦点,我只想删除这个类Javascript jqueryfocusin不';调用.focus()时无法工作并返回false;,javascript,jquery,focus,Javascript,Jquery,Focus,我对jQuery(1.7.2)的focusin/focusout事件有问题 我在一个div中有两个输入。当其中一个获得焦点时,我想向div添加一个类。如果没有任何输入具有焦点,我只想删除这个类 工作正常,当我用鼠标点击输入以切换焦点时。但是当通过调用$('#b').focus()将焦点设置到输入的keydown()事件中的其他输入时该类被删除,即使在检查div中是否存在焦点时也是如此 是不是因为我的返回false,所以选项卡不会切换两次?您是否有其他解决方案?不确定为什么它不能真正工
工作正常,当我用鼠标点击输入以切换焦点时。但是当通过调用
$('#b').focus()将焦点设置到输入的keydown()事件中的其他输入时代码>该类被删除,即使在检查div中是否存在焦点时也是如此
是不是因为我的返回false代码>,所以选项卡不会切换两次?您是否有其他解决方案?不确定为什么它不能真正工作(它应该工作),但您为什么不使用类似的方法:
$(function() {
$('#container input').on('keydown',function(e) {
var keycode = e.keyCode || e.which;
//When Tab or Return, switch input
if (keycode == 9 || keycode == 13) {
$($(this).attr('data-target')).focus();
$(this).parent().addClass("test");
return false;
}
}).focusin(function() {
$(this).parent().addClass("test");
}).focusout(function() {
$(this).parent().removeClass("test");
});
});
我在一个单独的.js文件中声明输入。对于某些样式(淡入/淡出),我希望在单独的位置处理“整个焦点”,从输入声明中尽可能多地删除行。但就目前而言,这是一个很好的解决办法,在那里添加类。但从长远来看,我需要一个解决方案。但是谢谢!
<div id="container">
<input type="text" id="a" data-target="#b">
<input type="text" id="b" data-target="#a">
</div>
$(function() {
$('#container input').on('keydown',function(e) {
var keycode = e.keyCode || e.which;
//When Tab or Return, switch input
if (keycode == 9 || keycode == 13) {
$($(this).attr('data-target')).focus();
$(this).parent().addClass("test");
return false;
}
}).focusin(function() {
$(this).parent().addClass("test");
}).focusout(function() {
$(this).parent().removeClass("test");
});
});