在javascript中新创建的div中添加click事件

在javascript中新创建的div中添加click事件,javascript,Javascript,我通过点击按钮创建了一个新的div,在onclick函数中,我向新创建的div添加了一个click事件,但它不起作用 document.getElementById('blah').onclick = function(){ var innerDiv = document.createElement("div"); document.getElementById('container').appendChild(innerDiv); innerDiv.onclick =creat

我通过点击按钮创建了一个新的div,在onclick函数中,我向新创建的div添加了一个click事件,但它不起作用

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

有人能帮我一下吗?

您的代码是正确的,但您并没有设置
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

尝试以下方法:

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

function createWorkFunction(){
 alert("working");
}

这应该会有所帮助。

检查您的代码正在运行的编辑问题。该代码运行良好。@Itay感谢您的澄清。在哪里使用它?为什么更好?@Itay使用
onclick
只能将单个事件侦听器附加到元素,但使用
addEventListener
可以将多个事件侦听器附加到元素,而且
onclick
主要用于旧浏览器
(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);
})();