Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/445.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jqueryfocusin不';调用.focus()时无法工作并返回false;_Javascript_Jquery_Focus - Fatal编程技术网

Javascript jqueryfocusin不';调用.focus()时无法工作并返回false;

Javascript jqueryfocusin不';调用.focus()时无法工作并返回false;,javascript,jquery,focus,Javascript,Jquery,Focus,我对jQuery(1.7.2)的focusin/focusout事件有问题 我在一个div中有两个输入。当其中一个获得焦点时,我想向div添加一个类。如果没有任何输入具有焦点,我只想删除这个类 工作正常,当我用鼠标点击输入以切换焦点时。但是当通过调用$('#b').focus()将焦点设置到输入的keydown()事件中的其他输入时该类被删除,即使在检查div中是否存在焦点时也是如此 是不是因为我的返回false,所以选项卡不会切换两次?您是否有其他解决方案?不确定为什么它不能真正工

我对jQuery(1.7.2)的focusin/focusout事件有问题

我在一个div中有两个输入。当其中一个获得焦点时,我想向div添加一个类。如果没有任何输入具有焦点,我只想删除这个类





工作正常,当我用鼠标点击输入以切换焦点时。但是当通过调用
$('#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");                  
    });
});​