Events 在javascript中单击“我的事件侦听器”时不会发生任何事情
我有以下职能:Events 在javascript中单击“我的事件侦听器”时不会发生任何事情,events,listener,Events,Listener,我有以下职能: createTreeItem: function (num, val) { const XUL_NS = "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"; var i = document.createElementNS(XUL_NS, "treeitem"); var r = document.createElementNS(XUL_
createTreeItem: function (num, val)
{
const XUL_NS = "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul";
var i = document.createElementNS(XUL_NS, "treeitem");
var r = document.createElementNS(XUL_NS, "treerow");
var c1 = document.createElementNS(XUL_NS, 'treecell');
var c2 = document.createElementNS(XUL_NS, 'treecell');
var c3 = document.createElementNS(XUL_NS, 'treecell');
i.setAttribute("container", true);
i.setAttribute("open", true);
c1.setAttribute("label", num);
c2.setAttribute("label", val);
c3.setAttribute("value", false);
r.appendChild(c1);
r.appendChild(c2);
r.appendChild(c3);
i.appendChild(r);
i.addEventListener("click", test, false);
return i;
}
test: function ()
{
alert("zero");
}
func: function (liste)
{
try
{
root = document.getElementById("treeRoot");
var current;
for(o in liste)
{
current = createTreeItem(liste[o].id, liste[o].nom_scenario);
root.appendChild(current);
}
}
catch(e)
{
alert(e);
}
}
我正在树中创建元素,我想在创建的每个元素上添加事件侦听器。问题是什么也没发生。
在代码中,Liste是json请求的响应。它包含我想在xul文件中创建的所有元素。我对这种语法不是非常熟悉,但我敢打赌,测试函数不会因为它的定义方式而被“提升”。尝试将“test”函数移到“createTreeItem”函数上方,或仅按如下方式定义测试:
function test() {
...
}
这样,当它被评估时,它将被“提升”到顶部,以便当您尝试将其添加为click事件的操作时,它将被定义。不是100%确定这是正确的,但如果我不得不打赌…这似乎合乎逻辑,但没有改变任何事情。