bokunonikki.net

JS,動的に生成したinputにonclickを追加する方法

Sun Dec 1, 2019
Sun May 30, 2021

divタグclassNameとかtextContentを追加するようにinputタグonclickを追加しようとしてハマったのでメモ。

これじゃダメ。

1
input.onclick = 'test()';

Assigned expression type string is not assignable to type(this.GlobalEventHandlers, ev: MouseEvent) => anyって怒られる。

正しくは、これ。

1
2
3
4
5
6
7
8
 input.onclick = function() {
     userSelected = input.value;
     if(list[i].correctAnswer === userSelected){
         console.log('正解');
     } else {
         console.log('不正解');
     }
 };

onclickにfunction(関数)を入れる必要がある。例の場合、userSelectedletで宣言しています。

location.hrefを使いたい時はfunctionの中に単純に入れてあげればいい。

1
2
3
    backButton.onclick = function () {
        location.href='../sample/index.html'
    }

改訂新版JavaScript本格入門 ~モダンスタイルによる基礎から現場での応用まで

See Also