3

我必须使用我的 JavaScript 函数传递innerHTML给 div。我传递的还有一个
,我必须为其附加一个点击事件,以便在点击它时,元素响应点击事件。innerHTMLdiv

我在这里有一个小提琴来解释这个问题:http: //jsfiddle.net/K2aQT/2/

HTML

<body>
    <div id="containerFrame">
    </div>
</body>

JavaScript

window.onload = function(){usersFunction();};

function usersFunction(){
    var someHtml = '<div> <div class ="btnSettings"> </div> <span></span> </div>';
    changeSource(someHtml);
}

function changeSource(newSource){
    document.getElementById("containerFrame").innerHTML = newSource;
}

在传递源代码时,我如何告诉 JavaScript 函数传递的这个 HTML 也有一些元素必须绑定到点击事件?

4

2 回答 2

2

如果您必须这样做,您可以考虑在 HTML 字符串本身中添加点击处理程序:

var someHtml = '<div> <div class ="btnSettings" onclick="return myFunction()"> </div> <span></span> </div>';

或者,修改后.innerHTML,找到正确的<div>

var frame = document.getElementById('containerFrame');
frame.innerHTML = newSource;
var settings = frame.getElementsByClassName('btnSettings')[0];

// depends on the browser, some IE versions use attachEvent()
settings.addEventListener('click', function(event) {
}, false);
于 2013-03-20T12:55:54.910 回答
1

我认为你需要这样的东西:

document.getElementById("containerFrame").onclick = function() {
    // put your function here
};
于 2013-03-20T12:59:38.530 回答