所以我通过AJAX请求注入html
:
Ajax响应
<div id="my-element">HTML from AJAX request</div>
问题是id为#my-element
的元素来自AJAX请求,但我也需要绑定事件。例如:
$(document).ready(function() {
$("#my-element").click(function() {
alert("hit");
});
});
显然上面的事件永远不会触发,因为当页面准备就绪时,HTML尚未从AJAX请求中注入。解决这个问题的最佳解决方案是什么?
感谢。
答案 0 :(得分:7)
尝试使用jQuery.on
函数:http://api.jquery.com/on/
$(document).on('click', '#my-element', function () { ... });
然后它甚至可以使用动态添加的元素。
答案 1 :(得分:0)
答案 2 :(得分:0)
使用on
方法将其设为现场。
$(function(){
$("#my-element").on("click",function() {
alert("hit");
});
});
答案 3 :(得分:-1)
在将html插入DOM后,在ajax调用的成功回调中进行绑定。