2016-09-28 48 views
-1

hello =)我正在嘗試創建一個標題標籤,其中包含一些文本。在JavaScript中動態設置onclick函數不起作用

var d = document.createElement("h5"); 
d.innerHTML = "Dungeon"; 

然後分配一個onclick監聽器。

d.onclick = function(){myFunction()}; 

這似乎不工作。我也試着

d.onmousedown = function(){myFunction();}; 

d.onclick = "myFunction()"; 

d.addEventListener("mousedown", function(){myFunction}); 

和他們都不是工作。我在它周圍引入了一些跟蹤器,一切都運行良好,沒有語法錯誤,但是當追加到文檔中時,實際元素根本就沒有與之相關的功能。有誰會碰巧知道爲什麼?在此先感謝=)

編輯: 這是我的代碼更詳細的塊。這有什麼區別?

var x = document.createElement("ul"); 
var y = document.createElement("li"); 
x.appendChild(y); 
var d = document.createElement("h5"); 
d.innerHTML = "Dungeon"; 
y.appendChild(d); 
console.log(0); 
d.onclick = function() { alert('test'); } 
console.log(1); 
+0

有你''appended'在D''DOM'元素? – Rayon

+0

是的,我追加它,它變得可見。在我的問題的最終句子中說明=) – Pixelknight1398

+0

@ Pixelknight1398你能提供一個JSFiddle來重現這個問題嗎? – DAXaholic

回答

1
elem.addEventListener("click", function, false); 
+0

哇!這怎麼會有什麼區別? – Rayon

+0

這仍然沒有解決我的問題,但標記爲正確的。我認爲它是太具體的獲得幫助。 – Pixelknight1398

+0

老兄,你可以複製你的代碼片段,這樣很容易理解n解決 –