2

我之所以问这个问题是因为我需要做一些事情,而且我在使用 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"))总是返回 True,不管控制的重点是什么

任何人都知道为什么会发生这种情况或我可以通过其他任何方式做到这一点吗?

4

3 回答 3

2

It might have been caused by older version of jquery used. If it's older than 1.6 then :focus won't work if you havent defined it. Version 1.6 and further have the :focus selector, we don't have to define it separately. So just upgrade your library version if it's old or define :focus somewhere in your js file. Check api for 1.6 here: jquery version 1.6

于 2012-10-15T13:11:23.307 回答
2

您的 jQuery 版本可能已过时。通过以下方式获取最新版本:

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js" type="text/javascript"></script>
于 2012-10-15T13:18:30.417 回答
0

我的 jQuery 版本已经过时了,我刚刚从这里获得了最新版本,现在代码运行正常。

于 2012-10-15T13:22:52.117 回答