3

innerHTMLJavaScript 関数を使用して 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;
}

ソースを渡すときに、渡されるこの HTML にもクリック イベントにバインドする必要がある要素があることを JavaScript 関数に伝えるにはどうすればよいですか?

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 に答える