0
JSONデータでツリーを作成します。主なアイデア:すべてのノードはdivとすべての子divも。問題は、私が子divをクリックすると、クリック機能が1以上働くことです。どうすればこの問題を解決できますか?ありがとう。 編集:追加する前にonclickを定義しようとすると、まだ問題が続きます。 これは私のツリー作成機能です。リピート機能-JS
function setTree(path){
function Node(id) {
this.id = id;
this.children = {}; // object
}
tree = new Node('root');
path.forEach(function (a) {
var parts = a.split('--->');
parts.reduce(function (r, b) {
if (!r.children[b]) {
r.children[b] = new Node(b);
createDiv(r.id,b);
}
return r.children[b];
}, tree);
});
document.getElementById('out').innerHTML = JSON.stringify(tree, 0, 4);
}
これは私の作成div機能です。
function createDiv(root,name)
{ alert("r ve b " +root+" " +name);
var output = document.getElementById(root);
if(!document.getElementById(name))
{
var ele = document.createElement("div");
ele.setAttribute("id",name);
ele.setAttribute("class","impact");
ele.innerHTML="<a><img src='../resources/images/plusIcon.png' border=0 /></a>" + name; //a onclick='clickIcon()'
output.appendChild(ele);
ele.onclick = function() {divClick();};
}
}
EDIT:ソリューション:
ele.onclick = function(e){
e.stopPropagation();
divClick(ele.id);
};};
私は機能のための別のパラメータがありますか? e.stopPropagation()で機能テスト(e、parameter2)が機能していますか? –
ele.onclick = function(e){ e.stopPropagation(); divClick(ele.id); };};仕事があります。ありがとう。 –