我正在使用jQuery,并希望用户在将数据输入搜索字段后开始搜索时可以按Enter键.
我正在使用以下代码:
$('#textSearch').keyup(function (event) { if (event.keyCode == '13') { doSearch(); } return false; });
它在Firefox和IE中完美运行,但在Safari中完全没有.当我在safari中输入并且这不是我想要的时候,表单正在提交.
添加onsubmit =“return false;”到表单工作,但不是一个选项,因为表单标签位于asp.net页面的母版页上,我需要在其他页面上提交表单.
有没有办法让这个功能在Safari中运行?
解决方法
浏览器可能会因触发提交的事件而异.在这种情况下,Safari可能正在提交keydown事件.
您可以在不更改标记的情况下查看提交事件并取消它:
您可以在不更改标记的情况下查看提交事件并取消它:
$('#the-id-of-the-form').submit( function( e ) { e.preventDefault(); });
然后,您可以监听keyup事件并像现在一样处理它.