event
はどこから来たのですか?
// First, change the HTML to:
<input id="myinput" type="text" onkeydown="return press(event);" value="X" />
// Then, on the JS part:
function press(e) {
var evt = e || window.event
// "e" is the standard behavior (FF, Chrome, Safari, Opera),
// while "window.event" (or "event") is IE's behavior
if (evt.keyCode === 13) {
// Do something
// You can disable the form submission this way:
return false
}
}
注意するときのデフォルトの動作である(提出からフォームを防ぐために、この機能でreturn
の使用とHTMLイベントを:ここに:-)
は、あなたが探しているソリューションです。フォームのフィールドで[Enter]を押してください)。
しかし、私はHTMLにJavaScriptの一部を除去することをお勧めしたい、としてまっすぐ行く:
document.getElementById('myinput').onkeydown = function(e) {
// Your code
}
これはthis'dも、あなたはjQueryの方法についてはunobtrusive javascript
を持つことができます次
$('#myinput').on('keydown', function(e) {
// jQuery normalizes the "e" parameter, so you can use:
if (e.keyCode === 13) {
// Do something
}
})
PS:event
は実際にIEの正しい使用であるwindow.event
と同じです。これは他のブラウザ(FF、Chromeなど)が使用する標準ではありません。だから私たちが提供したトリック(var evt = e || window.event
、ここではe
が引数として渡されました)を使用しています。
jQueryを使用できる場合は、インラインアトリビュートを使用するのではなく、イベントハンドラをアタッチするためにjQueryを使用する必要があります。 –