【发布时间】:2015-07-14 23:33:39
【问题描述】:
我正在修改大量现有应用程序。在此应用程序中,页面顶部有一个搜索栏。我需要记录用户在搜索栏中按下“Enter”的时间,以便触发一些逻辑。
看起来很简单。我可以只使用 jQuery keydown 甚至 keypress 事件来记录按下的键,然后如果键值与“Enter”的 13 匹配,我可以继续。
<form action="https://www.google.com" method="get" target="_blank">
<input id="search-field"/>
</form>
<script>
$(document).on('keydown', "#search-field", function (e) {
if (e.which == 13)
{
//"some logic"
}
});
</script>
这会捕获每个按键除了“输入”!当我在 JavaScript 中创建 alert(e.which); 时,每个键的值都会弹出,但是当我尝试“输入”时,它只是提交表单并加载新页面而不会触发警报。
我的问题:在不知道有关搜索框的现有代码(我几乎没有访问权限)的情况下,有什么办法可以让这个keydown 事件触发?为什么会失败?
注意:我必须使用这种格式的jQuery.on()来处理事件
【问题讨论】:
标签: jquery html events jquery-on