JQuery Ajax 异步操作之动态添加节点功能


Posted in jQuery onMay 24, 2017

异步操作动态添加节点,导致在代码中给添加的节点全局绑定事件或者获取元素无效,上代码:

$(function () {
  var IP = '...'; // 页面中的默认编号起始值 和  公用IP前缀
  showData();
  function showData() {
    if ($('.content')) $('.content').remove();
    $.ajax({
      url:IP + '/get',
      type:'get',
      success:function (data) {
        var newInfo = '';
        if(!data) return alert('对不起,没有数据可供操作!');
        newInfo +='<div class="btnBox">' +
             '<a href="javascript:;" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" class="remove">删除</a>' +
             
'<a href="javascript:;" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" class="change">修改</a>' +
             '</div>';
        });$('body').append(newInfo);
      },
      error:function (err) {




 alert(err);



 }
    });
  }
}
//这是一段很明显的通过JQuery-ajax前后台交互并动态添加的代码;
//但是,如果你在该方法(showData())外面来给上述动态添加的a标签添加事件或者获取值的时候可能会出现无效的情况:

$('.remove').click(function(){


alert('这是删除按钮!');

});

//页面中则不会弹出(这是删除按钮!)的弹框;

那么,问题出在哪里呢?

事实上,ajax从后台获取数据再显示到我们的页面中的过程是异步的,也就是说当我们利用ajax从后台获取值得时候,在ajax之后的代码是一直往下执行着走的,而不会等着你ajax获取并创建节点完成后再往下继续执行,这便是异步请求的机制,对于这个问题我们怎么解决呢:

$(function () {
  var IP = '...'; // 页面中的默认编号起始值 和  公用IP前缀
  showData();
  function showData() {
    if ($('.content')) $('.content').remove();
    $.ajax({
      url:IP + '/get',
      type:'get',
      success:function (data) {
        var newInfo = '';
        if(!data) return alert('对不起,没有数据可供操作!');
        newInfo +='<div class="btnBox">' +
             '<a href="javascript:;" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" class="remove">删除</a>' +
             
'<a href="javascript:;" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" class="change">修改</a>' +
             '</div>';
        });$('body').append(newInfo);
        // 当动态添加节点完成之后再给其中的按钮绑定事件
        $('.remove').click(function(){


    

alert('这是删除按钮!');

     
 });
      },
      error:function (err) {





 alert(err);




}
    });
  }
}

 将绑定事件的代码改到ajax内部,这样让动态添加完成之后再给其中的按钮绑定事件,就可以达到我们所需要的效果了,这便是ajax的异步机制

以上所述是小编给大家介绍的JQuery Ajax 异步操作之动态添加节点功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

jQuery 相关文章推荐
jquery 禁止鼠标右键并监听右键事件
Apr 27 jQuery
jQuery+PHP+Mysql实现抽奖程序
Apr 12 jQuery
jQuery返回定位插件详解
May 15 jQuery
jQuery插件ImgAreaSelect实现头像上传预览和裁剪功能实例讲解一
May 26 jQuery
jquery单击文字或图片内容放大并居中显示
Jun 23 jQuery
jQuery remove()过滤被删除的元素(推荐)
Jul 18 jQuery
jQuery菜单实例(全选,反选,取消)
Aug 28 jQuery
jquery实现左右轮播图效果
Sep 28 jQuery
jquery中为什么能用$操作
Jun 18 jQuery
jQuery删除/清空指定元素的所有子节点实例代码
Jul 04 jQuery
jQuery实现中奖播报功能(让文本滚动起来) 简单设置数值即可
Mar 20 jQuery
基于JQuery实现页面定时弹出广告
May 08 jQuery
使用jQuery.Pin垂直滚动时固定导航
May 24 #jQuery
jquery append与appendTo方法比较
May 24 #jQuery
jQuery日期范围选择器附源码下载
May 23 #jQuery
最常用的jQuery表单验证(简单)
May 23 #jQuery
jquery实现简单实用的轮播器
May 23 #jQuery
jquery实现图片轮播器
May 23 #jQuery
jQuery实现简单的滑动导航代码(移动端)
May 22 #jQuery
You might like
overlord人气高涨,却被菲利普频繁举报,第四季很难在国内上映
2020/05/06 日漫
PHP无限分类代码,支持数组格式化、直接输出菜单两种方式
2011/05/18 PHP
PHP处理excel cvs表格的方法实例介绍
2013/05/13 PHP
关于zend studio 出现乱码问题的总结
2013/06/23 PHP
非集成环境的php运行环境(Apache配置、Mysql)搭建安装图文教程
2016/04/12 PHP
php安装php_rar扩展实现rar文件读取和解压的方法
2016/11/17 PHP
详解PHP处理密码的几种方式
2016/11/30 PHP
php操作access数据库的方法详解
2017/02/22 PHP
thinkphp5 加载静态资源路径与常量的方法
2017/12/24 PHP
JavaScript面向对象编程入门教程
2014/04/16 Javascript
javascript框架设计之种子模块
2015/06/23 Javascript
javascript实现的闭包简单实例
2015/07/17 Javascript
Ubuntu系统下Angularjs开发环境安装
2016/09/01 Javascript
jQuery双向列表选择器DIV模拟版
2016/11/01 Javascript
基于JavaScript实现瀑布流效果
2017/03/29 Javascript
JavaScript中undefined和null的区别
2017/05/03 Javascript
基于layer.js实现收货地址弹框选择然后返回相应的地址信息
2017/05/26 Javascript
vue表单自定义校验规则介绍
2018/08/28 Javascript
vue-cli系列之vue-cli-service整体架构浅析
2019/01/14 Javascript
初学Python函数的笔记整理
2015/04/07 Python
python制作花瓣网美女图片爬虫
2015/10/28 Python
python扫描proxy并获取可用代理ip的实例
2017/08/07 Python
详解 Python 与文件对象共事的实例
2017/09/11 Python
Python 线性回归分析以及评价指标详解
2020/04/02 Python
Python eval函数介绍及用法
2020/11/09 Python
时尚的CSS3进度条效果
2012/02/22 HTML / CSS
加拿大领先的优质厨具产品在线购物网站:Golda’s Kitchen
2017/11/17 全球购物
斐乐美国官方网站:FILA美国
2019/03/01 全球购物
经验丰富大学生村干部自我鉴定
2014/01/22 职场文书
高二政治教学反思
2014/02/01 职场文书
环境建设实施方案
2014/03/14 职场文书
大宝sod蜜广告词
2014/03/21 职场文书
小小商店教学反思
2014/04/27 职场文书
历史学专业求职信
2014/06/19 职场文书
考试作弊被抓检讨书
2014/10/02 职场文书
导游词之重庆钓鱼城
2019/09/19 职场文书