我问过this question因为我需要的东西而且我在使用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,没有什么控制权重点。
任何人都知道为什么会发生这种情况或者我能做到的任何其他方式?
答案 0 :(得分:2)
它可能是由旧版本的jquery引起的。
如果它早于1.6,那么:focus
如果你没有定义它将不起作用。
版本1.6并且还有:focus
选择器,我们不必单独定义它。
因此,只需升级您的库版本(如果它已旧)或在js文件中的某处定义:focus
。在这里检查api为1.6:
jquery version 1.6
答案 1 :(得分:2)
您的jQuery版本可能已过期。获取最新版本:
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js" type="text/javascript"></script>
答案 2 :(得分:0)
我的jQuery版本已经过时了,我刚从here获得了最新版本,现在代码运行正常。