我努力让onclick事件监听器在我的结果中发挥作用。 这是我的代码:
function createLink(text, parentElement) {
var a = document.createElement('p');
var linkText = document.createTextNode(text);
a.appendChild(linkText);
temp1 = text.replace("/","-");
temp2 = res1.replace("/","-");
a.onclick=function(){goMainMenuFromResults();};
parentElement.appendChild(a);
var br = document.createElement('br');
parentElement.appendChild(br);
}
有问题的一行是:
a.onclick=function(){goMainMenuFromResults();};
该功能存在于另一部分,但适用于硬编码的html事件。当我在javascript中导入元素时,我无法使其工作。 任何帮助将不胜感激!
答案 0 :(得分:1)
temp2 = res1.replace("/","-");
答案 1 :(得分:0)
我删除了包含未定义变量的行。然后我在事件处理程序内引发的事件上添加了对preventDefault()的调用。它现在工作正常。创建了新元素,点击处理程序适用于新元素。
function createLink(text, parentElement) {
var a = document.createElement('p');
var linkText = document.createTextNode(text);
a.appendChild(linkText);
//temp1 = text.replace("/","-");
//temp2 = res1.replace("/","-");
a.onclick = function(e) {
e.preventDefault();
goMainMenuFromResults();
};
parentElement.appendChild(a);
var br = document.createElement('br');
parentElement.appendChild(br);
}