Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
通过Javascript按下enter按钮时调用函数_Javascript_Html - Fatal编程技术网

通过Javascript按下enter按钮时调用函数

通过Javascript按下enter按钮时调用函数,javascript,html,Javascript,Html,我有一个问题,我想调用一个文本框内的函数,当我按enter键时,这是我的代码 <input type="text" value="DIGITE O LOCAL" onclick="this.select()" size="20" id="endereco"> 我想放一些类似于onenterpress=“doSomething()” 我如何才能做到这一点?如果您想使用突兀的Javascript: <input type="text" value="DIGITE O LOC

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

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

我想放一些类似于
onenterpress=“doSomething()”


我如何才能做到这一点?

如果您想使用突兀的Javascript:

<input type="text" value="DIGITE O LOCAL" onclick="this.select()" 
onKeyDown="if(event.keyCode==13) alert(5);" size="20" id="endereco">
您的最佳选择是使用后一种方法。从长远来看,它将有助于提高可维护性

参考

HTML

<input  type="text" value="DIGITE O LOCAL" onkeypress="doSomething(this, event)" onclick="this.select()" size="20" id="endereco">
Daniel Li的是最巧妙的解决方案,但您可能会遇到IE和event.keyCode返回未定义的问题,就像我过去所做的那样。要绕过此检查,请检查window.event

document.getElementById('endereco').onkeydown = function(event){
    var e = event || window.event;
    if(e.keyCode == 13){
        alert('5');
    }
}​

内联JS事件处理程序几乎总是一个坏主意。我不是在重构OP的代码,只是在回答他的问题。不需要向下投票。内联事件处理程序是错误的方法。将JS保存在
.JS
文件中。简单有效,谢谢=)(我需要再等5分钟,检查您的答案是否“已接受”
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
    }
}
document.getElementById('endereco').onkeydown = function(event){
    var e = event || window.event;
    if(e.keyCode == 13){
        alert('5');
    }
}​