私は、ページ上の要素 "a"と "button"を動的に作成して削除しています。ハンドラを作成するときにハンドラ "onclick"を追加します。これまでに私が見たすべての例はjqueryにありました。純粋なJavaScriptでどうすればいいですか?純粋なjavascriptの動的に作成された要素に "onclick"ハンドラを追加します。
-1
A
答えて
0
addEventListener
を使用して、ダイナミックボタンにクリックリスナーを追加できます。
var btn = document.createElement("button");
btn.addEventListener('click', function(){
alert('button clicked!');
}, false);
document.body.appendChild(btn);
+0
「onclick」はなぜですか? – Kooooro
+0
委任について詳しく知りたい場合は、この回答を確認してください。http://stackoverflow.com/a/6348597/823369 –
0
この例では、テキストを含むボタンを作成し、idがtest
の要素に追加します。
var btn = document.createElement('button');
btn.appendChild(document.createTextNode('test'));
btn.addEventListener('click', function() {
alert('it works');
}, false);
document.getElementById('test').appendChild(btn);
これがうまくいけばうまくいきます。
0
から:https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListenerこのようにあなたが行うことができます
HTMLコンテンツ
<table id="outside">
<tr><td id="t1">one</td></tr>
<tr><td id="t2">two</td></tr>
</table>
JavaScriptコンテンツ
// Function to change the content of t2
function modifyText() {
var t2 = document.getElementById("t2");
if (t2.firstChild.nodeValue == "three") {
t2.firstChild.nodeValue = "two";
} else {
t2.firstChild.nodeValue = "three";
}
}
// add event listener to table
var el = document.getElementById("outside");
el.addEventListener("click", modifyText, false);
3
:
for(var i=0;i<5;i++){
var a = document.createElement("a");
a.innerHTML="a"+i;
document.body.appendChild(a);
var button = document.createElement("button");
button.innerHTML="button"+i;
button.onclick = function(){
console.log("event on button");
}
document.body.appendChild(button);
}
関連する問題
- 1. 動的にロードされたdiv要素にonClickイベントを追加します。
- 2. jQueryは、動的に作成された要素にクラスを追加します。
- 3. 動的に作成された要素にjQueryが追加されない
- 4. javascriptまたはjqueryで動的に作成されたdivにhtml要素を追加します。
- 5. は、イベントリスナーを追加し、動的に生成された要素
- 6. 純粋なjavascriptでランダムな要素にクラスを追加する方法
- 7. 動的に挿入された要素に要素を追加
- 8. 動的に作成されたdivに要素を追加する(追加しない)
- 9. jQueryにツールチップを追加すると、動的に作成された要素
- 10. 動的に作成された要素にカスタムトリガーを追加する
- 11. JQuery:動的に作成された要素にイベントハンドラ(アニメーション)を追加する
- 12. 追加された要素のVueJS onclick
- 13. 動的に作成されたアンカー要素へのjavascriptのバインド
- 14. 動的に追加された要素のターゲットを追加します
- 15. 純粋なJavascriptでの要素座標
- 16. 盛大PopUpが動的に追加された要素で動作しない
- 17. 動的に作成されたリンクボタンにonclickイベントを追加する
- 18. jQueryは、動的に作成された要素にバインドされたハンドラを実行しません。
- 19. 動的に生成されたテーブルにonclickイベントを追加します
- 20. 動的に追加された子要素に作用しないクリックイベント
- 21. onclick関数の要素の属性に動的に作成された要素の文字列を渡す
- 22. 動的に追加された要素にイベントハンドラをアタッチする
- 23. 動的に追加された要素にイベントをバインドする
- 24. iframeから動的に作成された要素のイベントバインド
- 25. 純粋なjavascriptでtr onclickの後にラジオボタンをチェックしました。 Performace also matter
- 26. 動的に作成された別の要素内の動的に作成された要素にイベントをバインドする方法はありますか?静的な祖先を持って、動的に作成された要素に
- 27. 動的に生成された要素にイベントを追加する
- 28. 動的に追加されたhtml要素にイベントリスナーを追加する
- 29. 動的に追加されたテンプレート要素にクラスを追加する
- 30. 純粋なjavascript範囲スライダコントロールの作成
これはバニラJSのためのドキュメント次のとおりです。http ://www.w3schools.co m/js/js_htmldom_eventlistener.asp – Fefux
この記事を参照してください:http://stackoverflow.com/questions/6956258/adding-onclick-event-to-dynamically-added-button –