首页 > 解决方案 > 如何使用 JQuery 创建事件监听器?

问题描述

我是 JQuery 的新手。我知道这个问题有点令人困惑,但也许这个解释可能会有所帮助:

我有一个<li>由带有动态 ID 的 JavaScript 生成的动态标签,我只想为每个新生成的<li>标签添加一个事件侦听器。也许以这样的方式?我知道这行不通。

<li id="2" onadded="createEvent()"></li> //new generated <li> tag
<li id="1" onadded="createEvent()"></li> //the 1st generated <li> tag

<script>
function createEvent(){
  //event here
}
</script>

我怎样才能做到这一点?或任何可能的解决方案?提前致谢。

标签: javascriptjqueryhtml

解决方案


使用 $.fn.on 函数为 li 的父级绑定事件,并为 li 使用选择器“li”,然后您的动态生成的 li elment 将响应该事件。如下:

    //$(document) can be replaced  by $(parentsOfLi) , .i.e: $("ul")  or $("#" + idOful)
$(document).on("click", "li", function () {
    //do your process here
    //alert($(this).text());
    //$(this).parent().append("<li></li>")
})

推荐阅读