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 시도했는데 아무것도 작동하는 것. 버튼이 클래스와 텍스트와 함께 잘 보입니다.프로그래밍 방식으로 addEventListener가 null입니다.
EDIT : 기본적으로 내가하려는 것은 프로그래밍 방식으로 div의 "팝업"배열을 표시하는 것입니다. 여기
은 어떻게 생겼는지의 스크린 샷입니다 : http://i.imgur.com/IqaOq.png, 나는 아래와 같이 설정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
: 난 그냥이는
addMessage()
입니다
x.addMessage({template: {type: JMTK.Custom.MessageDialog.templates.alert, title: "Alert title", message: "This is a message here", button1: {text: "Hello"}}})
입력 팝업을 추가 한 후, var x = new JMTK.Custom.MessageDialog()
이 함수를 호출
: 나는 버튼을 클릭하면, 다시
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 Explorer에는 onclick 속성이 없습니다.
DOM에 요소를 추가 했습니까? 어떤 브라우저 (이전 버전의 IE는 addEventListener를 지원하지 않습니다)? – jfriend00
오류 메시지가 있습니까? – Shmiddty
예, class/text가'alert.appendChild (button);을 표시합니다. 여기서 alert는 외부 div이고 아무 곳에서도 오류 메시지가 표시되지 않습니다. Visual Studio 2012의 DOM Explorer에는 onclick 이벤트가 없습니다. –