开发者社区> 问答> 正文

请教如何ajax新建元素 中绑定事件。

jquery 新建元素 事件绑定

$.ajax({
success: function(html){
$('#res').html(html);
}
});

请问我如何在插入的html元素上绑定事件。

展开
收起
a123456678 2016-07-05 16:57:58 2039 0
1 条回答
写回答
取消 提交回答
  • jQuery 给所有匹配的元素附加一个事件处理函数,即使这个元素是以后再添加进来的也有效。

    .live() 方法能对一个还没有添加进DOM的元素有效,是由于使用了事件委托:绑定在祖先元素上的事件处理函数可以对在后代上触发的事件作出回应。传递给 .live() 的事件处理函数不会绑定在元素上,而是把他作为一个特殊的事件处理函数,绑定在 DOM 树的根节点上。在我们的例子中,当点击新的元素后,会依次发生下列步骤:

    生成一个click事件传递给

    来处理
    由于没有事件处理函数直接绑定在
    上,所以事件冒泡到DOM树上
    事件不断冒泡一直到DOM树的根节点,默认情况下上面绑定了这个特殊的事件处理函数。
    执行由 .live() 绑定的特殊的 click 事件处理函数。
    这个事件处理函数首先检测事件对象的 target 来确定是不是需要继续。这个测试是通过检测 $(event.target).closest('.clickme') 能否找到匹配的元素来实现的。
    如果找到了匹配的元素,那么调用原始的事件处理函数。
    由于只有在事件发生时才会在上面的第五步里做测试,因此在任何时候添加的元素都能够响应这个事件。
    2019-07-17 19:51:39
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载