2017-11-23 12 views
0

入力ボックスが選択されたときにEnterキーを押したときに実行する簡単な関数を取得しようとしています。私はそれが単純な修正かもしれないが、解決策を見つけることができないと思う。私は問題がrunOnEnter( "keypress")だと仮定しますが、関数によってテストされる引数に 'key'を渡す方法はわかりません。選択された入力と押された入力キーの機能を実行する

誰かが引数にキーを渡す方法を教えてもらえますか?あるいは、問題を解決する別の方法がありますか?ありがとう!

document.getElementById("this-checker").addEventListener("keypress", runOnEnter("keypress")); 
 

 
function runOnEnter(e) { 
 
    if (e.keyCode == 13) { 
 
     alert('hi'); 
 
    } 
 
}
<div id="first-div"> 
 

 
      <input type="text" placeholder="Enter url here..." id="this-checker" value="urlhere"> 
 
      
 
</div> 
 

 
    

答えて

1

そうようにあなたがイベントをバインドします。イベントがトリガされたとき

.addEventListener("keypress", runOnEnter); 

そしてerunOnEnterに自動的に渡されます。

1つの追加ノートでは、私はe.which代わりのe.keyCodeを使用することをお勧め:

function runOnEnter(e) { 
    if (e.which == 13) { 
     alert('hi'); 
    } 
} 

これはあなたのコードは、すべてのブラウザで適切に動作することを確認することです。

+0

私はあなたの提案でそれを試しましたが、うまくいきませんでした。なぜどんなアイデア?ここJSfiddleです:https://jsfiddle.net/x55fan97/ – user8758206

+1

@ user8758206申し訳ありません私ははっきりしていませんでした。あなたの例のように、あなたの要素に 'addEventListener'を呼び出す必要があります。全体の行は 'document.getElementById(" this-checker ")です。addEventListener(" keypress "、runOnEnter);' – stybl

+0

完璧、ありがとう! – user8758206

関連する問題