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

时间:2013-09-21 13:54:51

标签: javascript

我正在点击按钮创建一个新的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();
}

任何人都可以快速帮助我

3 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分: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);
})();

这应该有所帮助。

答案 2 :(得分:-1)

试试这个:

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

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