jQuery动态生成的元素绑定事件操作实例分析


Posted in jQuery onMay 04, 2019

本文实例讲述了jQuery动态生成的元素绑定事件操作。分享给大家供大家参考,具体如下:

这段时间在写代码的时候遇到一个问题,通过append()添加的节点,点击事件不起作用。当时我百思不得其解,各种找错都没找到错误的原因。后来才发现是动态生成节点的问题,还是自己没有经验啊。

下面来总结一下这个问题的始末,温故而知新。

先看下click绑定事件的效果。

<div>
    <p>a</p>
    <p>b</p>
    <p>c</p>
</div>

创建一个按钮来生成新的节点p

<button>create</button>

绑定点击事件

<script>
    //添加点击事件
    $("p").click(function(){
        $(this).text('click');
    })
    //创建一个新节点
    $("button").click(function(){
        var p ="<p>new</p>";
        $("div").append(p);
    })
</script>

点击第一p元素,事件生效,运行结果:

jQuery动态生成的元素绑定事件操作实例分析

点击按钮,生成新的节点,并点击新的节点,运行结果:

jQuery动态生成的元素绑定事件操作实例分析

结果证明,click并没有绑定到新的节点上。

如果需要给动态的元素绑定事件,需要使用到on()。

$("div").on("click","p",function(){
    $(this).text('click');
})

on()方法,可以给未来的元素绑定事件

使用方法:

1、先选中动态生成元素的父元素
2、然后绑定事件
3、再选中子类

可以理解为给div下的p元素包括未来的p元素绑定click事件,这是比较通俗易懂的理解,详细内容可以看文档的具体说明

希望本文所述对大家jQuery程序设计有所帮助。

jQuery 相关文章推荐
jQuery轻松实现无缝轮播效果
Mar 22 jQuery
jQuery实现分页功能(含ajax请求、后台数据、附完整demo)
Apr 03 jQuery
jQuery选择器特殊字符与属性空格问题
Aug 14 jQuery
jQuery EasyUI开发技巧总结
Sep 26 jQuery
基于jQuery中ajax的相关方法汇总(必看篇)
Nov 08 jQuery
jquery ztree实现右键收藏功能
Nov 20 jQuery
jQuery实现下拉菜单动态添加数据点击滑出收起其他功能
Jun 14 jQuery
jQuery实现的简单手风琴效果示例
Aug 29 jQuery
jQuery实现适用于移动端的跑马灯抽奖特效示例
Jan 18 jQuery
jQuery事件模型默认行为执行顺序及trigger()与 triggerHandler()比较实例分析
Apr 30 jQuery
jquery实现鼠标悬浮弹出气泡提示框
Dec 23 jQuery
ajax jquery实现页面某一个div的刷新效果
Mar 04 jQuery
jQuery实现条件搜索查询、实时取值及升降序排序的方法分析
May 04 #jQuery
Easyui 关闭jquery-easui tab标签页前触发事件的解决方法
Apr 28 #jQuery
jQuery对底部导航进行跳转并高亮显示的实例代码
Apr 23 #jQuery
详解jquery和vue对比
Apr 16 #jQuery
JQuery Ajax跨域调用和非跨域调用问题实例分析
Apr 16 #jQuery
详解jQuery中的getAll()和cleanData()
Apr 15 #jQuery
详解JQuery基础动画操作
Apr 12 #jQuery
You might like
CodeIgniter中实现泛域名解析
2014/07/19 PHP
老生常谈文本文件和二进制文件的区别
2017/02/27 PHP
PhpStorm 如何优雅的调试Hyperf的方法步骤
2019/11/24 PHP
JavaScript触发器详解
2007/03/10 Javascript
js 刷新页面的代码小结 推荐
2010/04/02 Javascript
jquery 添加节点的几种方法介绍
2013/09/04 Javascript
抛弃Nginx使用nodejs做反向代理服务器
2014/07/17 NodeJs
jQuery实现带有上下控制按钮的简单多行滚屏效果代码
2015/09/04 Javascript
详解jquery事件delegate()的使用方法
2016/01/25 Javascript
jQuery EasyUI datagrid在翻页以后仍能记录被选中行的实现代码
2016/08/15 Javascript
微信分享调用jssdk实例
2017/06/08 Javascript
js生成word中图片处理方法
2018/01/06 Javascript
小程序实现发表评论功能
2018/07/06 Javascript
详解基于vue-cli3快速发布一个fullpage组件
2019/03/08 Javascript
微信小程序 确认框的实现(附代码)
2019/07/23 Javascript
vue+element导航栏高亮显示的解决方式
2019/11/12 Javascript
three.js着色器材质的内置变量示例详解
2020/08/16 Javascript
python脚本监控docker容器
2016/04/27 Python
使用Kivy将python程序打包为apk文件
2017/07/29 Python
Python如何爬取实时变化的WebSocket数据的方法
2019/03/09 Python
python接口自动化测试之接口数据依赖的实现方法
2019/04/26 Python
python flask web服务实现更换默认端口和IP的方法
2019/07/26 Python
Django之模板层的实现代码
2019/09/09 Python
多个python文件调用logging模块报错误
2020/02/12 Python
pandas数据选取:df[] df.loc[] df.iloc[] df.ix[] df.at[] df.iat[]
2020/04/24 Python
用Python进行websocket接口测试
2020/10/16 Python
用Python实现职工信息管理系统
2020/12/30 Python
CSS3 实现发光边框特效
2020/11/11 HTML / CSS
三星加拿大官方网上商店:Samsung CA
2020/12/18 全球购物
linux面试相关问题
2013/04/28 面试题
自我评价优秀范文分享
2013/11/30 职场文书
大学生读书笔记大全
2015/07/01 职场文书
高中军训感想
2015/08/07 职场文书
爱国主义主题班会
2015/08/14 职场文书
导游词之千岛湖
2019/09/23 职场文书
python自动化调用百度api解决验证码
2021/04/13 Python