我已经构建了一个监听器来防止表单在特殊情况下提交.
我正在使用谷歌地图自动完成api,基本上我不想在用户按Enter键时提交表单,并显示"推荐结果框".当用户按Enter键从下拉框中选择一个值而不是提交表单.
我已经构建了一个正确捕获事件的侦听器,但我不知道如何阻止提交表单.
$('body').live('keydown', function(e) {
if($(".pac-container").is(":visible") && event.keyCode == 13) {
e.preventDefault(); // Prevent form submission
}
});
Run Code Online (Sandbox Code Playgroud)
我试过e.preventDefault(); 但它仍然提交表格.表单ID是:updateAccountForm
我怎样才能防止它发生?
编辑:我必须指出,直接在搜索输入上搜索按键似乎与Google API冲突使自动完成功能无效.所以没有$('input#search')keydown/keypress是可能的
解决方案实际上非常简单.所有听众似乎都失败了,但是补充说:
onkeydown="if($('.pac-container').is(':visible') && event.keyCode == 13) {event.preventDefault();}"
Run Code Online (Sandbox Code Playgroud)
直接输入就行了.
我认为您应该尝试使用类似 \xe2\x80\xa6 的内容来检查容器的可见性
\n\n$(\'body\').keypress(function(e) \n{\n if (e.keyCode == \'13\') {\n e.stopPropagation()\n\n }\n});\xe2\x80\x8b\nRun Code Online (Sandbox Code Playgroud)\n\n这里的文章有很好的解释。
\n| 归档时间: |
|
| 查看次数: |
18854 次 |
| 最近记录: |