通过Javascript按下输入按钮时调用一个函数

时间:2012-09-28 15:04:26

标签: javascript html

我有问题,我想在文本框中调用一个函数,当我按回车键时,这是我的代码

<input  type="text" value="DIGITE O LOCAL" onclick="this.select()" size="20" id="endereco">

我想提出类似onenterpress="doSomething()"

的内容

我该怎么做?

3 个答案:

答案 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');
    }
}

您最好的选择是使用后一种方法。从长远来看,这将有助于可维护性。

参考http://en.wikipedia.org/wiki/Unobtrusive_JavaScript

答案 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
    }
}