jQuery忽略第二个条件

时间:2018-03-05 15:15:44

标签: javascript jquery html

我编写了一个jQuery函数,当某个元素有焦点时,我打算检查何时特定按下shift键。

以下是我编写的代码

$(document).keyup(function (e) {
    if (e.which === 9 && e.shiftKey) {
        if ($(".focus > a").focus) {
            alert("test");
        }
    }
});

然而,无论.focus > a是否具有焦点,当按下shift键时警报似乎都起作用。我在这里犯了错误还是这个错误?

1 个答案:

答案 0 :(得分:0)

if ($(".focus > a").focus将检查focus对象上是否存在定义为$(".focus > a")的属性。由于存在,你的情况总是如此。

所以改为:

if $(".focus > a").is(":focus") .....

Using jQuery to test if an input has focus