1. ホーム
  2. javascript

[解決済み] JavaScript で新しく追加された要素に onclick イベントを追加する

2022-12-28 12:06:09

質問

JavaScriptで追加した新しい要素にonclickイベントを追加しようとしています。

問題は、私がdocument.body.innerHTMLをチェックするとき、私は実際にonclick=alert('blah')が新しい要素に追加されていることを確認することができます。

しかし、私がその要素をクリックするとき、私はアラートボックスが動作しているのを見ません。実際、JavaScript に関連するものはすべて動作していません。

新しい要素を追加するために使用するのは以下のとおりです。

function add_img() { 
  var elemm = document.createElement('rvml:image'); 
  elemm.src = 'blah.png';
  elemm.className = 'rvml';
  elemm.onclick = "alert('blah')";
  document.body.appendChild(elemm);
  elemm.id = "gogo";
  elemm.style.position='absolute';
  elemm.style.width=55;
  elemm.style.height=55;
  elemm.style.top=200;
  elemm.style.left=300;
  elemm.style.rotation=200; 
}

この関数を呼び出す方法は以下の通りです。

<button onclick=add_img()>add image</button>

これで、画像はブラウザ内で完璧に描画されるようになりました。しかし、画像をクリックすると、そのアラートが表示されません。

どのように解決するのですか?

.onclick には文字列ではなく、関数を指定します。試す

elemm.onclick = function() { alert('blah'); };

の代わりに