問題があります。テキストボックス内で関数を呼び出したいのですが、Enterキーを押すと、これが私のコードです。
<input type="text" value="DIGITE O LOCAL" onclick="this.select()" size="20" id="endereco">
のようなものを置きたいonenterpress="doSomething()"
これどうやってするの ?
問題があります。テキストボックス内で関数を呼び出したいのですが、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">
これを目立たないように処理します。
document.getElementById('endereco').onkeydown = function(event) {
if (event.keyCode == 13) {
alert('5');
}
}
後者のアプローチを使用するのが最善の選択です。長期的には保守性に役立ちます。
Daniel Liの答えは最も巧妙な解決策ですが、これまでのように、IEとevent.keyCodeが未定義を返すという問題が発生する可能性があります。このwindow.eventのチェックを回避するには
document.getElementById('endereco').onkeydown = function(event){
var e = event || window.event;
if(e.keyCode == 13){
alert('5');
}
}
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
}
}