event_key_test.html 1.85 KB
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8" />
<title>イベントサンプル</title>

<style type="text/css">
body {
    font-family: Arial;
}
#disparea {
    width: 150px;
    font-size: 40px;
    background-color: #CCCCCC;
    border: #4C4C4C solid 1px;
    text-align: center;
    padding: 20px 20px 20px 20px;
    margin: 20px 20px 20px 20px;
}
#result {
    width: 150px;
    border: #4C4C4C solid 1px;
    text-align: center;
    padding: 20px 20px 20px 20px;
    margin: 20px 20px 20px 20px;
}
</style>

<script language="javascript" type="text/javascript">

function playGame(e) {
    // 押されたキーのキーコードを取得する
    var in_keycode = e.keyCode;
    // 問題表示領域に、アルファベットを表示
    document.getElementById('disparea').childNodes[0].nodeValue = in_keycode;
}

// keydownイベントリスナーをセットする
function setListeners(e) {
    // キーが押されたらplayGame()関数が実行されるようリスナーをセット
    addListener(document, 'keydown', playGame, false);
}

function addListener(elem, eventType, func, cap) {
    if(elem.addEventListener) {
        elem.addEventListener(eventType, func, cap);
    } else if(elem.attachEvent) {
        elem.attachEvent('on' + eventType, func);
    } else {
        alert('ご利用のブラウザーはサポートされていません。');
        return false;
    }
}

// HTMLがロードされた際に、setListeners()関数を実行させる
addListener(window, 'load', setListeners, false);

</script>

</head>

<body>
  <!-- 問題表示領域 -->
  <div>▼ 質問</div>
  <div id="disparea">?</div>

</body>
</html>