如何将事件绑定到从AJAX请求注入的HTML
How to bind events to HTML injected from AJAX requests
所以我通过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请求中注入。解决此问题的最佳解决方案是什么?
谢谢。
尝试使用jQuery.on
函数:http://api.jquery.com/on/
$(document).on('click', '#my-element', function () { ... });
然后,它甚至可以使用普通添加的元素。
使用on
方法使其生效。
$(function(){
$("#my-element").on("click",function() {
alert("hit");
});
});
通过AJAX请求注入html完成后添加事件
或
可以使用on
方法
另请参见此示例
动态创建的元素上的事件绑定?
相关文章:
- ajax请求的顺序总是不同的
- 从ajax请求中获取javascript对象
- Ajax请求文档就绪会导致jquery加载缓慢
- MockJax没有在JavaScript应用程序中发送对我AJAX请求的响应
- 正在传递JSONP标头's数据参数到另一个文件中的AJAX请求
- JavaScript代码未正确检查ajax请求
- node.js请求数据事件未在CORS ajax调用中触发
- jQuery Ajax GET请求工作不正常
- "日期“;AJAX请求返回的类型值未定义
- Django - 响应请求 AJAX
- 使用 jQuery 的 CORS 请求 - $.ajax()
- 如果无线电值为 ==1,则请求 ajax
- 如何处理对循环中发出的多个异步请求(AJAX 调用)的响应
- POST请求ajax jquery错误
- CasperJS don'我没有请求AJAX
- 使用这种Facebook风格的Lightbox-请求AJAX-在一个页面上覆盖多个按钮
- 400错误请求ajax post请求
- 如何在开始发送请求ajax之前延迟3秒
- 与jQuery同时请求AJAX
- 使用POST请求AJAX发送json对象