Jquery 聚焦输出,但仅当未聚焦到另一个元素时

Jquery 聚焦输出,但仅当未聚焦到另一个元素时,jquery,jquery-focusout,Jquery,Jquery Focusout,我有以下jQuery: $(document).ready(function() { $("#Button1").click(function () { $("#divCompany1").slideToggle("fast"); }); $("#Button1").focusout(function () { $("#divCompany1").slideUp("fast"); }); $("#divCompany

我有以下jQuery:

$(document).ready(function() 
{ 
    $("#Button1").click(function () {
        $("#divCompany1").slideToggle("fast");
    });

    $("#Button1").focusout(function () {
        $("#divCompany1").slideUp("fast");
    });

    $("#divCompany1").focusout(function () {

        $("#divCompany1").slideUp("fast");

    });

});
以下是我希望发生的事情的描述:

  • 如果用户关注按钮1,但随后失去关注,我希望divCompany1滑动
  • 如果用户关注divCompany1,但随后失去关注,我希望divCompany1只向上滑动
  • 上述情况的例外是,如果按钮1失去焦点,但divCompany1同时获得焦点,我不希望任何事情发生
这基本上允许用户在按钮1和divCompany1之间切换,而无需滑动divCompany1

我已经搜索了一段时间,没有发现任何有用的东西,我想可能需要一面旗帜或其他东西


有什么想法吗?

这个问题说明如何检测元素是否有焦点:

那么你所需要做的就是:

$("#Button1").focusout(function () {
    if (!$("#divCompany1").is(":focus")) {
        $("#divCompany1").slideUp("fast");
    }
});

此问题说明如何检测元素是否具有焦点:

那么你所需要做的就是:

$("#Button1").focusout(function () {
    if (!$("#divCompany1").is(":focus")) {
        $("#divCompany1").slideUp("fast");
    }
});

好吧,我似乎已经解决了这个问题:

$("#Button1").click(function () {
        $("#divCompany1").slideToggle("fast");
        $("#<%=lstBoxCompany.ClientID%>").focus();
    });

    $("#divCompany1").focusout(function () {
        $("#divCompany1").slideUp("fast");
    });
$(“#按钮1”)。单击(函数(){
$(“divCompany1”)。滑动切换(“快速”);
$(“#”)焦点();
});
$(“#divCompany1”).focusout(函数(){
美元(“#divCompany1”).slideUp(“快速”);
});
我不必担心
按钮1
的焦点,只需将焦点设置为我想让用户去的元素(
divCompany1
),只有在这个焦点消失后,我才隐藏它


按预期工作。

好的,我似乎已经解决了这个问题:

$("#Button1").click(function () {
        $("#divCompany1").slideToggle("fast");
        $("#<%=lstBoxCompany.ClientID%>").focus();
    });

    $("#divCompany1").focusout(function () {
        $("#divCompany1").slideUp("fast");
    });
$(“#按钮1”)。单击(函数(){
$(“divCompany1”)。滑动切换(“快速”);
$(“#”)焦点();
});
$(“#divCompany1”).focusout(函数(){
美元(“#divCompany1”).slideUp(“快速”);
});
我不必担心
按钮1
的焦点,只需将焦点设置为我想让用户去的元素(
divCompany1
),只有在这个焦点消失后,我才隐藏它


正常工作。

这会在此处导致异常
if(!$(“#divCompany1”).is(“:focus”){
这会在此处导致异常
if(!$(“#divCompany1”).is(“:focus”){