jQuery为DOM动态追加事件的方法

发布时间 - 2026-01-10 23:05:05    点击率:

处理一个列表绑定,因为是一个展示项目,没有使用复杂的插件,直接jsrender写了个模板,但是后面有一个操作按钮,去查看数据详情,想到了jquery使用on进行事件委托,然后就开搞

最初是这样写的:

$(".btn-open").on("click", function () {        
alert($(this).text());      
})

当然这样是不起作用的,因为在document reday后,.btn-open 这个元素根本还不存在呢,列表没绑定,事件当然也帮不上的!

 然后是这样的:

$(".table").on("click", ".btn-open", function () {        
alert($(this).text());      
})

代码可以看得明白,找到.table 元素,给.btn-open 追加 click事件。一般来说这样就可以了。但是依然不行,我勒个去,我开始怀疑自己的记忆了。然后去找了下文档。

文档说:

事件处理只能绑定在当前被选中的元素上;而且,在您的代码调用.on()的时候,他们必须在页面文档中已经存在。

好吧,在document ready时,.table确实不存在,所以 还要继续改

$(document).on("click", ".btn-open", function () {        
alert($(this).text());      
})

终于可以工作了。

总结:

1.jQuery委托事件与直接绑定事件的区别:

$(“X”).on(“click”,function(){})

$(“X”).on(“click”,”选择X的子元素”,function(){})

2.事件处理只能绑定到当前存在的元素身上,也就是第一个选择器中的内容必须当前存在(这也是为什么第二段代码不起作用的原因,因为.table不存在),所以保险起见,可以直接绑定委托事件到document上。

以前一直没有仔细的阅读文档,对这一块模棱两可,今天弄清楚并记录下来。

以上这篇jQuery为DOM动态追加事件的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。


# jquery  # 动态dom  # 事件  # jquery 元素控制(追加元素/追加内容)介绍及应用  # jQuery 追加元素的方法如append、prepend、before  # jquery 追加元素append、prepend、before、after用法与区别分析  # Jquery元素追加和删除的实现方法  # jQuery动态创建元素以及追加节点的实现方法  # jquery 操作日期、星期、元素的追加的实现代码  # JQuery实现样式设置、追加、移除与切换的方法  # jquery 追加tr和删除tr示例代码  # 利用jquery如何从json中读取数据追加到html中  # jQuery实现合并/追加数组并去除重复项的方法  # js和jquery对dom节点的操作(创建/追加)  # jQuery操作元素追加内容示例  # 绑定  # 文档  # 是这样  # 给大家  # 不存在  # 自己的  # 是一个  # 不起作用  # 您的  # 这一  # 第一个  # 模棱两可  # 还不  # 希望能  # 看得  # 好吧  # 找了  # 可以直接  # 写了  # 这篇 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 如何登录建站主机?访问步骤全解析  Laravel如何连接多个数据库_Laravel多数据库连接配置与切换教程  公司网站制作需要多少钱,找人做公司网站需要多少钱?  网站制作报价单模板图片,小松挖机官方网站报价?  Laravel怎么解决跨域问题_Laravel配置CORS跨域访问  Win11怎么查看显卡温度 Win11任务管理器查看GPU温度【技巧】  C++时间戳转换成日期时间的步骤和示例代码  js实现点击每个li节点,都弹出其文本值及修改  Windows家庭版如何开启组策略(gpedit.msc)?(安装方法)  Laravel如何监控和管理失败的队列任务_Laravel失败任务处理与监控  Laravel怎么配置S3云存储驱动_Laravel集成阿里云OSS或AWS S3存储桶【教程】  Linux系统命令中tree命令详解  高端建站如何打造兼具美学与转化的品牌官网?  网站制作免费,什么网站能看正片电影?  javascript日期怎么处理_如何格式化输出  Laravel中的withCount方法怎么高效统计关联模型数量  CSS3怎么给轮播图加过渡动画_transition加transform实现【技巧】  Laravel如何处理跨站请求伪造(CSRF)保护_Laravel表单安全机制与令牌校验  JavaScript实现Fly Bird小游戏  在线ppt制作网站有哪些软件,如何把网页的内容做成ppt?  Laravel如何使用Livewire构建动态组件?(入门代码)  Laravel怎么为数据库表字段添加索引以优化查询  如何为不同团队 ID 动态生成多个“认领值班”按钮  如何快速生成专业多端适配建站电话?  猎豹浏览器开发者工具怎么打开 猎豹浏览器F12调试工具使用【前端必备】  Laravel怎么设置路由分组Prefix_Laravel多级路由嵌套与命名空间隔离【步骤】  Laravel怎么发送邮件_Laravel Mail类SMTP配置教程  JavaScript数据类型有哪些_如何准确判断一个变量的类型  Laravel怎么生成URL_Laravel路由命名与URL生成函数详解  Win11怎么设置默认图片查看器_Windows11照片应用关联设置  新三国志曹操传主线渭水交兵攻略  进行网站优化必须要坚持的四大原则  Python进程池调度策略_任务分发说明【指导】  谷歌浏览器下载文件时中断怎么办 Google Chrome下载管理修复  javascript基本数据类型及类型检测常用方法小结  lovemo网页版地址 lovemo官网手机登录  Laravel如何实现图片防盗链功能_Laravel中间件验证Referer来源请求【方案】  音响网站制作视频教程,隆霸音响官方网站?  如何在云主机上快速搭建多站点网站?  Laravel Eloquent模型如何创建_Laravel ORM基础之Model创建与使用教程  Laravel 419 page expired怎么解决_Laravel CSRF令牌过期处理  Laravel怎么清理缓存_Laravel optimize clear命令详解  Laravel如何实现API版本控制_Laravel版本化API设计方案  Python制作简易注册登录系统  免费的流程图制作网站有哪些,2025年教师初级职称申报网上流程?  ChatGPT怎么生成Excel公式_ChatGPT公式生成方法【指南】  如何用AI帮你把自己的生活经历写成一个有趣的故事?  如何在IIS服务器上快速部署高效网站?  Win11怎么恢复误删照片_Win11数据恢复工具使用【推荐】  iOS验证手机号的正则表达式