なぜ私の関数はこの特定のコードで警告を返しませんか?あなたはあなたの関数でevent
引数を渡す必要がありonkeydownはjavascriptで動作しません
<input type="text" id="searchString" name="searchString" onkeydown="searchString();"/>
なぜ私の関数はこの特定のコードで警告を返しませんか?あなたはあなたの関数でevent
引数を渡す必要がありonkeydownはjavascriptで動作しません
<input type="text" id="searchString" name="searchString" onkeydown="searchString();"/>
:
function searchString() {
if (event.keyCode == alert("Success!"); }
}
は、ここに私のHTMLコードです。
function searchString(event) {
if(event.keyCode == 13) {
alert("Success!");
}
}
document.querySelector('input').addEventListener('keyup', searchString);
function searchString(event) {
if (event.keyCode == 13) {
alert("Success!");
}
}
<p>Press the <b>enter</b> key in the input below see your alert</p>
<input type="text" />
あなたは純粋なJavaScriptでそれを行うことができます:あなたはkeyCode
メソッドを呼び出すしようとすると、それ以外の場合event
は未定義です
const search = document.getElementById('searchString');
search.addEventListener('keydown', (e) => {
if (e.keyCode === 13) {
// your code here
}
}
注:13キーであります入力用のコード
実際にevent
が引数として渡されていることを確認する必要があります。そうしないと、関数内で認識されません。どのコードがどのキーに関連付けられているかを確認するには、以下を試してください。
function check(event)
{
var keycode = event.keyCode;
alert(keycode);
}
そして...
<input type="text" id="check" name="check" onkeydown="check();">
リターンキーは '13' で結ばれています。ですから、押されたときに何かをやりたければ、次のようにします。
function searchString(event)
{
if(event.keyCode === 13) {
alert("return key was pressed");
// do something ....
}
}
また、htmlコードは次のようになります。
<input type="text" id="searchString" name="searchString" onkeydown="searchString();">
「===」の代わりに「===」を使用しています。これは現在推奨されている方法です。また、input
の末尾のスラッシュは必要ありません。
クリックハンドラの引数に 'event'を指定する必要があります – nem035
どうすればいいですか? 'function searchString(event)'のようなものですか? – laine
ええと、まったく:) – nem035