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

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

これじゃダメ。

input.onclick = 'test()';

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

正しくは、これ。

 input.onclick = function() {
     userSelected = input.value;
     if(list[i].correctAnswer === userSelected){
         console.log('正解');
     } else {
         console.log('不正解');
     }
 };

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

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

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





See Also