我有一个搜索框,它是一种文本类型。它有一个单击按钮,启动Find()。
如何通过点击文本框内的输入来进行查找
答案 0 :(得分:2)
如果您的文本输入位于表单元素内,则可以将onSubmit(或jQuery .submit())事件处理程序附加到表单元素。当用户在文本输入
内按Enter键时,将触发此事件答案 1 :(得分:1)
在input
元素上使用ng-keypress
并检查enter
密钥代码:
<input type="text" ng-keypress="($event.which === 13) ? Find() : void(0)" />
这假设已加载jQuery
。否则,您可能希望使用$event.keyCode
,但是以浏览器兼容的方式would be tricky执行此操作。
如果您有一个包含此模板的指令,那么您应该在link
函数中捕获此事件并在那里调用Find
。否则,将input
按钮放在form
内并在on-submit
元素上定义form
。请检查IE兼容性,我记得IE7至少需要在输入键的表单中隐藏<input type="submit" />
才能提交表单。
答案 2 :(得分:0)
document.onkeydown = function(evt) {//when key is pressed
evt = evt || window.event;
if (13 == evt.keyCode) {//if key was enter
if (document.activeElement.className== "search_input"){//if the focus is on your input (in this case search_input)
Find() //call your function
return false;//cancel enter
}
}
}
答案 3 :(得分:0)
我通常对Angular-UI非常好运。在这种情况下,ui-keypress指令应该很好用。 http://angular-ui.github.io/ui-utils/#/keypress。返回/回车键所需的键码是13。