Javascript “焦点”是否总是返回true

Javascript “焦点”是否总是返回true,javascript,jquery,Javascript,Jquery,我之所以这么问是因为我需要做一些事情,而我在jQuery方面遇到了一些问题。所以我开始这个问题,因为其他人可能也有这个问题 在我另一个问题的答案中,用户Felix告诉我这样做: $(document).keypress(function(e) { e.preventDefault(); if(e.which == 13 ) { if($("#searchInput").is(":focus")) { alert("search form su

我之所以这么问是因为我需要做一些事情,而我在jQuery方面遇到了一些问题。所以我开始这个问题,因为其他人可能也有这个问题

在我另一个问题的答案中,用户Felix告诉我这样做:

$(document).keypress(function(e) {
    e.preventDefault();

    if(e.which == 13 ) {
        if($("#searchInput").is(":focus")) {
          alert("search form submitted");
          return false;
        } else {
          alert("save form submitted");                  
          return false;
        }
    }
});
​
这似乎是我所需要的,但是,条件
if($(“#searchInput”).is(“:focus”)
is总是返回True,不知道什么控件是焦点


任何人都知道为什么会发生这种情况,或者我可以用任何其他方法来做到这一点吗?

这可能是由于使用了较旧版本的jquery造成的。 如果它早于1.6,那么
:focus
在您尚未定义它的情况下将不起作用。 版本1.6和进一步的
:focus
选择器,我们不需要单独定义它。 因此,只要升级旧版本的库,或者在js文件的某个地方定义
:focus
。在此处检查api 1.6:

这可能是由于使用了较旧版本的jquery造成的。 如果它早于1.6,那么
:focus
在您尚未定义它的情况下将不起作用。 版本1.6和进一步的
:focus
选择器,我们不需要单独定义它。 因此,只要升级旧版本的库,或者在js文件的某个地方定义
:focus
。在此处检查api 1.6:

您的jQuery版本可能已过时。使用以下工具获取最新版本:

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js" type="text/javascript"></script>

您的jQuery版本可能已过时。使用以下工具获取最新版本:

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js" type="text/javascript"></script>


我的jQuery版本已过期,我刚从中获得最新版本,现在代码运行正常。

我的jQuery版本已过期,我刚从中获得最新版本,现在代码运行正常。

您可能需要检查jQuery版本。这和Yeap上的预期一样好…我的jQuery版本已经过时了。回答这个问题,这样我就可以接受。@devGabriel你应该自己回答这个问题,然后再接受它…你能分享你的html代码吗?这会很有用。你可能想检查jquery版本。这和Yeap上的预期一样好…我的jQuery版本已经过时了。回答这个问题,这样我就可以接受。@devGabriel你应该自己回答这个问题,然后接受它…你能分享你的html代码吗?这会很有用。dev确保你的其他模块不会因为库中的更改而受到影响。我为所有控件编写了验证。当我将库从1.4.1升级到1.8.2时,我看到了一些奇怪的问题一些控件的行为没有经过正确的验证。好的,我来检查一下。谢谢。开发人员请确保您的其他模块不会因为库中的更改而受到影响。我为所有控件编写了验证。当我将库从1.4.1升级到1.8.2时,我看到一些控件的奇怪行为没有经过正确的验证。好的,我会检查一下。非常感谢。