3

所以我html通过 AJAX 请求注入:

阿贾克斯响应

  <div id="my-element">HTML from AJAX request</div>

问题是带有 id 的元素#my-element来自 AJAX 请求,但我也需要绑定事件。例如:

 $(document).ready(function() {
    $("#my-element").click(function() {
        alert("hit");
    });
 });

显然,上面的事件永远不会触发,因为当页面准备好时,还没有从 AJAX 请求中注入 HTML。解决此问题的最佳解决方案是什么?

谢谢。

4

4 回答 4

7

尝试使用jQuery.on功能:http ://api.jquery.com/on/

$(document).on('click', '#my-element', function () { ... });

然后它甚至可以使用动态添加的元素。

于 2012-09-01T04:33:13.293 回答
0

在通过 AJAX 请求注入 html 完成后添加您的事件,
或者
您可以使用on方法

也见这个例子

动态创建元素的事件绑定?

于 2012-09-01T04:33:03.603 回答
0

使用on方法让它活起来。

$(function(){
    $("#my-element").on("click",function() {
        alert("hit");
    });
});
于 2012-09-01T04:35:37.047 回答
-1

在将 html 插入 DOM 之后,在 ajax 调用的成功回调中进行绑定。

于 2012-09-01T04:32:58.300 回答