如何在动态创建元素时附加javascript函数

时间:2014-12-04 13:50:11

标签: javascript jquery

如何在动态创建元素时附加javascript函数。

由于

2 个答案:

答案 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>