javascript - 进入页面时如果在一个异步请求里渲染了一个DOM结构,那么和这个DOM结构相关的交互js都要写在请求完成的回调函数里吗

查看:242
本文介绍了javascript - 进入页面时如果在一个异步请求里渲染了一个DOM结构,那么和这个DOM结构相关的交互js都要写在请求完成的回调函数里吗的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

就是说我进入页面的时候要请求一个表格数据,但是我还要操作这个表格。编辑删除之类的。在异步请求完成时后的回调函数里我可以循环遍历将数据插入表格,但是后期的操作呢,以及操作之后又产生的ajax请求呢?都要写在完成的回调函数里嘛?那么整个页面就是一个大的ajax里边套着渲染DOM,操作DOM,还有各种操作DOM产生的新的ajax了。我不知道这样做合理不合理。如图所示:

解决方案

可以使用jquery的on来绑定事件
绑定事件一般这样写,

$('.class').on('click', function(){})

但是,如过.class这 dom 元素,是异步生成的,上面代码就不会触发了.
就是,如果绑定事件的时候,该 dom 元素不存在,后面再生成,事件是没有绑定上的.
所以,可以这样写

$('body').on('click', '.class', function(){})

这样写,是为 body 下面的.class 元素绑定点击事件,这样绑定,即使.class是动态生成的,也可以触发绑定的事件
所以,你的问题,可以用下面代码解决

// 编辑
$('.good').on('click', '.edit', function(e){
})
//删除
$('.good').on('click', '.del', function(e){
})
//分享
$('.good').on('click', '.share', function(e){
})

其实我有点不明白你想问的是什么.
我回答的内容是,怎样使用 jquery 对动态生成的元素绑定事件

这篇关于javascript - 进入页面时如果在一个异步请求里渲染了一个DOM结构,那么和这个DOM结构相关的交互js都要写在请求完成的回调函数里吗的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆