var button = document.createElement("button");
button.type = "button";
button.className = "button";
button.innerText = "OK";
button.addEventListener("click", function () {
console.log("Hello!");
}, false);
これを行うと、ボタンがそのイベントリスナーを取得することはありません。、、を試しましたがattachEvent
、button.onclick
何も機能しないようです。ボタンはクラスとテキストでうまく表示されます。
編集:基本的に私がやろうとしているのは、プログラムでdivの「ポップアップ」配列を表示することです。
これがどのように見えるかのスクリーンショットです:http://i.imgur.com/IqaOq.png、そして私はそれを次のように設定しました:var x = new JMTK.Custom.MessageDialog()
そしてポップアップを追加するために、私はただタイプしますx.addMessage({template: {type: JMTK.Custom.MessageDialog.templates.alert, title: "Alert title", message: "This is a message here", button1: {text: "Hello"}}})
これはaddMessage()
:
var content = document.createElement("div");
//htmlObject.template is the object that has all the info, 'this' is the scrim element that contains each "white" popup"
content.innerHTML = MessageDialogClass.html.alert(htmlObject.template, this).innerHTML
これはこの関数を呼び出します:
alert: function (template, element) {
//Array of functions
var callbacks = MessageDialogClass.callbacks;
var alert = document.createElement("div");
var id = Date.now();
alert.id = id;
var header = document.createElement("h1");
header.innerText = (template.title ? template.title : "ALERT");
var paragraph = document.createElement("p");
paragraph.innerText = (template.message ? template.message : "No message specified")
var button = document.createElement("button");
button.type = "button";
button.className = "button";
button.innerText = (template.button1.text ? template.button1.text : "OK");
button.addEventListener("click", function () {
if (template.button1.callback) {
template.button1.callback();
}
//MessageDialogClass.popElement(id);
//delete callbacks.id;
}, false);
alert.appendChild(header);
alert.appendChild(paragraph);
alert.appendChild(button);
callbacks.id = alert;
return alert;
},
しかし、繰り返しになりますが、ボタンをクリックしても何も起こらず、DOMエクスプローラーにはonclick
属性がありません。