我有问题,我想在文本框中调用一个函数,当我按回车键时,这是我的代码
<input type="text" value="DIGITE O LOCAL" onclick="this.select()" size="20" id="endereco">
我想提出类似onenterpress="doSomething()"
我该怎么做?
答案 0 :(得分:18)
如果你想使用突兀的Javascript:
<input type="text" value="DIGITE O LOCAL" onclick="this.select()"
onKeyDown="if(event.keyCode==13) alert(5);" size="20" id="endereco">
不引人注意地处理这个问题:
document.getElementById('endereco').onkeydown = function(event) {
if (event.keyCode == 13) {
alert('5');
}
}
您最好的选择是使用后一种方法。从长远来看,这将有助于可维护性。
答案 1 :(得分:3)
Daniel Li的answer是最简单的解决方案,但是你可能会遇到IE的问题,并且event.keyCode返回undefined,就像我过去一样。绕过这个检查window.event
document.getElementById('endereco').onkeydown = function(event){
var e = event || window.event;
if(e.keyCode == 13){
alert('5');
}
}
答案 2 :(得分:1)
<强> HTML 强>
<input type="text" value="DIGITE O LOCAL" onkeypress="doSomething(this, event)" onclick="this.select()" size="20" id="endereco">
<强> JS 强>
function doSomething(element, e) {
var charCode;
if(e && e.which){
charCode = e.which;
}else if(window.event){
e = window.event;
charCode = e.keyCode;
}
if(charCode == 13) {
// Do your thing here with element
}
}