首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何实现动态添加元素添加点击事件

在页面开发过程中常常遇到需要动态添加元素,然后给这一元素绑定相关事件的情况,这种情况下一般需要给元素加上相关属性,然后写这些元素事件函数即可。动态添加元素怎么绑定事件呢?...原生JavaScript 原生JavaScript主要有2种实现方式,第一种是在动态添加的html代码中添加oclick事件,然后传递一个唯一的参数来判断点击的是哪个,然后做相应的操作。...第二种是通过事件委托的原理进行处理,事件委托将一个 事件监听器实际上绑定到整个容器,然后每个列表项被点击就可以访问,这样效率更高。...该事件附加到staticAncestors应处理的元素的静态父级 ( )。 每次在此元素或后代元素之一上触发事件时,都会触发此 jQuery 处理程序。...,dosomething您会将事件绑定到已经存在的父级(这是这里问题的核心,您需要绑定到存在的东西,不要绑定动态内容),这可以(也是最简单的选项)是document.

3.8K20
您找到你想要的搜索结果了吗?
是的
没有找到

JS动态加载数据绑定事件--delegate() 方法

JS动态加载数据绑定事件-委托delegate() 方法 ---- W3C规范定义 定义和用法 delegate() 方法为指定的元素(属于被选元素的子元素添加一个或多个事件处理程序,并规定当这些事件发生时运行的函数...使用 delegate() 方法的事件处理程序适用于当前或未来的元素(比如由脚本创建的新元素)。...---- JavaScript动态加载的数据,同时给他加载绑定事件,我选用Jquwey中的 delegate() 方法 我的理解,delegate()方法属于异步式加载绑定,dom元素加载未完成之前,可以委托给...delegate() 方法来实现的绑定操作。...top-nav-left","click",function() { window.history.back(); }); }); ---- 第一个参数为 要点击的标签属性 第二个参数为 要绑定事件

7.9K30

Js - JQ事件委托( 适用于给动态生成的脚本元素添加事件

研发加了ajax事件后,我的交互效果有部分受了影响! 一个小姑娘,在一群大老爷们研发堆里,对着昏暗的电脑和看不太懂的后台代码,改了半天。最后没解决。我就回来了。...所以一开始事件找不到“接头人”就没有执行。 扫噶,定位到问题,就好解决了。 之所以整理成随笔,是因为我之前没遇到过这个问题,听过事件委托机制,但是根本没研究过不知道适用于什么样的bug场景。...,是通过获取元素的类名被点击后执行对应方法,但是研发套完模板,他会把所有的结构先清空,导致jq根本找不到那个元素,所以事件就不得执行了。...正规点的说:JS异步加载,JQ事件不被执行解决方法(百度的标题,hah) jquery中动态新增的元素节点无法触发事件问题(同上) 解决方法: ? ?...但是缺点是:给一个元素添加多个事件委托机制时,他就挂了。  王者方法:on ? //模拟多个事件!

4.9K50

JQuery——动态添加元素导致点击事件失效

jquery-click-invalid: https://codesandbox.io/s/jquery-click-invalid-forked-xpt352 内容 一开始我以为是svg导致的点击事件失效...,但是看来下代码结构,发现两者并不关联; 开始觉得问题应该出现在.html()方法上,因为文章这块在博皮上是没做什么调整的,所以直接看博客园的blog-common.min.js; 通过显示目录导航关键字进行搜索...,就发现了关键之处,JQuery动态添加元素,导致事先绑定的click事件失效了,因为.click只适用于静态元素; ?...> 既然问题找到了,那修复起来就很快了; 因为我们无法改变blog-commom.min.js,所以通过改变自己博皮代码进行修复; 原来代码 通过.html()进行组合,这样导致button对应的click...事件失效; /** * 设置文章标题-iconfont */ (() => { let titleInfo = $('#cnblogs_post_body

12110

js 动态生成 input 的绑定事件 blur 无效

https://blog.csdn.net/u011415782/article/details/89230040 ☯ 背景描述 今天在进行代码编写时,我需要根据ajax返回的数据动态生成一个表格...最开始编写的 js 代码如下: /** * 当sku库存量变化时,对应总库存进行更新 */ $(".input-sku-stock").blur(function ()...blur事件 因为测试失败后,转而考虑新的写法,且可以正常实现 ?...ி 附录 1.针对我的问题,求助度娘,发现了下面的一个帖子,可作参考 动态添加的blur事件失效 [问题点数:60分,结帖人lawrendc] 时间相当久远... 2.最接近解决需求的文章如下...,建议可自行测试 动态生成input绑定事件无效如:blur 意见:异步导致绑定事件失败,需使用全局绑定事件 3.w3school 文档 - onblur 事件 这就是官方文档

8.9K00

js实现动态添加具有相同name的input+动态添加的input绑定事件+保存前判断所有name为空阻断提交

一、在动态上传章节信息时,碰到了一系列的问题,主要有: 1、动态添加的input元素绑定事件失效了。 2、提交保存时,多个name相同的表单如何判空并阻断提交。...$(this).next().text("不能为空").css("color", "red"); } }); 四、解决方案 1、之所以会出现刚才的问题,是因为在事件加载之后我们才动态添加元素...,新的元素并没有绑定到曾经的事件。...解决方案: (1)绑定事件需要等元素添加完毕,再绑定,才会生效。...,比如添加的表单,不需要可以点击×号删除,要想实现效果,但不知道怎么做的时候,我们可以自己写点击事件,不用框架的,因为我们无法把握人家的js,这只是本人的一种思路,会的不用理会。

6K20
领券