我有一个简单的输入框
按下回车键后,我想要提交它(所在表单)。我使用jQuery,但没有使用任何自动完成扩展,所以只使用浏览器默认的自动完成:
$('#searchfield')
.keypress(function(event) {
var keycode;
if (window.event)
keycode = window.event.keyCode;
else if (event)
keycode = event.which;
else
return true;
if (keycode == 13)
$('#searchForm').submit();
});
这个解决方案存在问题: 当有人(在FF3中)开始输入(例如“stackov”),然后按向下箭头选择提供的选项并敲回车键时,表单被提交了,尽管搜索的是“stackov”,而不是所选的“stackoverflow”。
另外我尝试了:
$('#searchfield')
.change( function() {
$('#singleSearch').trigger('click');
})
这使我正确地选择了 "stackoverflow",但现在任何离开该字段的操作(例如在输入一些字母后模糊(blur()))都会不自觉地将其发送出去。
对此有任何(最好经过测试的)建议吗?