我有一个文本框和一个按钮,按钮点击事件导航到网站中的其他位置我想按Enter键做同样的事情但无法做到这一点请帮助解决这个我的代码片段如下
function call()
{
document.location= "location.aspx";
}
<input type="text" id="txt1" onkeydown ="if(event.keyCode==13)document.getElementById('bt1').click()"/>
<input type="button" id="bt1" value ="Hit me" onclick ="call()" />
答案 0 :(得分:0)
这与点击相同,都会调用此函数......
onkeydown ="if(event.keyCode==13) call()"
答案 1 :(得分:0)
如果您可以编辑HTML代码,则可能不需要使用任何JS来实现此功能。 HTML中的INPUT字段应该包含在 FORM 标记内(至少在大多数情况下它在语义上更有意义)。
如果可以这样做,则可以将INPUT元素从TYPE按钮更改为Type SUBMIT ,然后可以在FORM元素上侦听 onsubmit 事件。 / p>
按下回车键并单击按钮即可触发该事件,并且它在浏览器中运行非常顺畅。唯一的问题是IE不会在只有1个文本输入字段的表单上触发onsubmit事件。为此,您必须在表单中插入另一个字段。您可以为您的案例隐藏它。更多参考:http://style-vs-substance.com/development/form-submit-by-enter-key-and-internet-explorer/
编辑:代码示例
<form id="myForm">
<!--[if IE]>
<input type="text" style="display: none;" disabled="disabled" size="1" /><![endif]-->
<input type="text"/>
<input type="submit" value="Search"/>
</form>
然后在你的JS中:
var formHandler = document.getElementById('myForm');
formHandler.onsubmit = function(){
//this callback will be invoked both by the search button and enter key now
//your logic here
}