JavaScript を使用してキーを「クリック」することにより、このオンライン キーボードでいくつかのキーを「再生」するスクリプトを作成しようとしていました。
コード
//sample array to iterate over
var keys_ = ['et', 'dst', 'et', 'dst', 'et', 'b', 'dt', 'ct', 'a', ...];
//handles the clicking only
function playKey(id_) {
key_ = document.getElementById(id_);
key_.click(); }
//iterates over the array
function playKeys(keys_) {
delay = 1000;
for (i = 0; i < keys_.length; i++) {
console.log(delay);
key_ = keys_[i];
console.log(key_);
window.setTimeout('playKey(key_)', delay);
delay += 1000;
}
}
出力
コンソールは次のエラーをスローします。
1000
et
2000
dst
...
9000 未定義Uncaught TypeError: null
の プロパティ 'style' を読み取れません p-ano.html:142 8 Uncaught TypeError: null のメソッド 'click' を呼び出せません
ご覧のとおり、delay
とのkey_
値は完全に正しいです。しかし、これを実行すると、1 秒後 (つまり、最初のタイムアウト)、すべてのキーが一度に再生されたように見え、その後何も起こりません。
私は何を間違っていますか?
PS:このような他の質問を見て、Google や他のフォーラムを検索しましたが、役に立ちませんでした