如何在动态创建元素时附加javascript函数。
由于
答案 0 :(得分:0)
欢迎来到stackoverflow。如果你想要好的答案,你应该更准确地解决你的问题。例如代码片段,你到目前为止所尝试过的等等......
因为你将jquery标记为你的问题,我将回答jquery特定的解决方案。
动态创建的元素无法直接用于绑定任何内容,因为它们最初并不为dom所知。 所以你必须将函数绑定到现有元素并使用事件委托。
这适用于.on()函数。
$(".existingelement").on("click", ".dynamicelement", function(){
//do stuff here
})
答案 1 :(得分:0)
$('#ulTagContent').html("");
for (var i = 0; i < TagListInfo.length; i++) {
var li = document.createElement('li');
li.className = ''; // Class name
// li.innerHTML = ; // Text inside
li.id = "li"+i;
$('#ulTagContent').append(li); // Append it
//li.onclick = dynamicEvent; // Attach the event!
var Anchor = document.createElement('a');
Anchor.id = "anchor" + i;
Anchor.innerHTML = TagListInfo[i].TagName;
var TagName = TagListInfo[i].TagName.trim();
Anchor.href = "javascript:;";
var GroupId = i + 1 ;
Anchor.setAttribute("onclick", "ShowGalleryByTagName('" + TagName + "'," + GroupId + ");")
$('#li' + i).append(Anchor);
}
}
<ul style="padding: 0" class="tag-list" id="ulTagContent"></ul>