最近在作项目的时候发现的一个问题,经过ajax动态加载出来的一个button值绑定不了点击事件。我使用的是datatables这款表单插件,表单内容是经过ajax动态渲染出来的。html
解决方案:jquery
经过Google,我发如今jquery1.7版本以前一般使用 .live() 这个事件,可是这个方法在1.9版本被移除了ajax
因此,咱们须要找一个替代的方法 .on(),首先让咱们先来看下这个事件的介绍插件
看介绍,这两个事件作的事情差很少,而后我在具体的介绍中发现了这个代理
第一点:.on()事件绑定的元素必须是页面中已经存在的,也就是静态html中存在的元素,才会被绑定。htm
第二点:经过selector参数进行代理,什么意思呢?就是说当这个参数不为空的时候,.on()绑定的事件不会直接在绑定的元素上触发,它会自动匹配内部节点,而后在该节点触发blog
怎么理解第二点呢?通俗点说就是:一个父亲(已绑定静态页面的元素)管着一大堆儿子(动态加载出来的元素),咱们首先找到了父亲,而后告诉他其中一个儿子的名字和要干的事情(具体绑定的事件),而后他就会去让你指定的这个儿子去干。这样好理解吧。事件
到这里,问题就解决了。具体写法像这样:文档
以上是我解决该问题的整个过程,但愿可以帮助到你,共同进步!!!get
本文参考文档: