2013-09-21 41 views
0

我正在創建一個新的div點擊按鈕,並在該onclick函數內我添加一個單擊事件到新創建的div但它不工作。在JavaScript中新創建的div添加點擊事件

document.getElementById('blah').onclick = function(){ 
    var innerDiv = document.createElement("div"); 
    document.getElementById('container').appendChild(innerDiv); 
innerDiv.onclick =createWorkFunction; 
} 
function createWorkFunction(e){ 
alert(); 
} 

有誰能夠迅速幫我

+0

檢查編輯的問題 –

+1

您的代碼正在工作。 http://jsfiddle.net/itay1989/ttVZn/1/ – Itay

+1

該代碼工作正常。 – Harry

回答

0

你的代碼是CORRCT,但是你沒有設置的你的div(空div不能由用戶點擊),試試這個文本:

document.getElementById('blah').onclick = function(){ 
    var innerDiv = document.createElement("div"); 
    innerDiv.innerHTML = 'This is a div'; // set it's text 
    document.getElementById('container').appendChild(innerDiv); 
    innerDiv.onclick = createWorkFunction; 
} 
function createWorkFunction(e){ 
    alert('this is some text'); 
} 

而且最好是使用addEventListener

+0

要在哪裏使用?爲什麼它更好? – Itay

+1

@Itay with'onclick'你只能附加一個事件監聽器給元素,但用'addEventListener'你可以附加多個事件監聽器,'onclick'主要用於舊瀏覽器 –

+0

我看到謝謝 – Itay

-1

試試這個:

innerDiv.setAttribute("onclick","createWorkFunction()") 

function createWorkFunction(){ 
alert("working"); 
} 
0
(function() { 
    var oBlah = document.getElementById('blah'); 
    oBlah.addEventListener('click', function() { 
     var innerDiv = document.createElement("div"); 
     document.getElementById('container').appendChild(innerDiv); 
    }, false); 
    innerDiv.addEventListener('click', function() { 
     alert(); 
    }, false); 
})(); 

這應該有所幫助。

相關問題