为什么ajax加载出来的html,无法用选择器绑定事件?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为什么ajax加载出来的html,无法用选择器绑定事件?相关的知识,希望对你有一定的参考价值。

问题:使用Ajax异步请求页面,正常显示,但是页面上的按钮,无法添加点击事件
分析:Ajax异步加载的,整个页面加载完成后,找不到你异步加载的DIV或者事件。
*解决:使用 delegate() 方法的事件处理程序**

            delegate() 方法为指定的元素(属于被选元素的子元素)添加一个或多个事件处理程序,并规定当这些事件发生时运行的函数。
            使用 delegate() 方法的事件处理程序适用于当前或未来的元素(意思是:可以为生成的页面添加事件)。

使用:向未来的(新生成的)元素添加事件处理程序

</script>
$(document).ready(function(){
  $("div").delegate("p","click",function(){
    $(this).slideToggle();
  });
});
</script>

以上是关于为什么ajax加载出来的html,无法用选择器绑定事件?的主要内容,如果未能解决你的问题,请参考以下文章

在 IE 的 jQuery Ajax 成功函数中无法识别选择器

如何使用 ajax 调用将 jquery 数据表加载到 div 中

jQuery中的Ajax

Elementelementui的Cascader 级联选择器,在懒加载的时候数据无法回显的解决方案

html中的公共部分怎么处理

选择2“无法加载ajax结果”