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

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

12710

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

在页面开发过程中常常遇到需要动态添加元素,然后给这一元素绑定相关事件的情况,这种情况下一般需要给元素加上相关属性,然后写这些元素的事件函数即可。动态添加的元素怎么绑定事件呢?...原生JavaScript 原生JavaScript主要有2种实现方式,第一种是在动态添加的html代码中添加oclick事件,然后传递一个唯一的参数来判断点击的是哪个,然后做相应的操作。...第二种是通过事件委托的原理进行处理,事件委托将一个 事件监听器实际上绑定到整个容器,然后每个列表项被点击就可以访问,这样效率更高。...function(){} ); 可以替换为以下on()方法: $(document).on( eventName, selector, function(){} ); ---- 例如,如果您的页面使用类名动态创建元素...,dosomething您会将事件绑定到已经存在的父级(这是这里问题的核心,您需要绑定到存在的东西,不要绑定到动态内容),这可以(也是最简单的选项)是document.

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

    js动态添加div

    问题 有没有遇到过这样的需求, 在页面上会有不定个input, 点击添加按钮就添加 ?...把他封装起来, 需要的时候调用就好了 思路 因为每个input标签的name如果相同的话, 在后端接收的时候会出错, 所以我的解决办法就是在name后加上一个数字, 后端用一个循环进行接收 点击第一行的添加...点击的时候, 将div准备好, 添加到内容div中的第一个 点击每行的添加 将div添加到当前点击行后面一个 点击每行删除 删除当前div 实现 基本思路很简单, 只要在每个点击按钮上添加对应的点击事件...attr('name'); $(this).attr('name', name + '_' + secp); }); var _this = this; // 给添加按钮添加点击事件...cloneDiv.find('[add]').click(function () { _this.addAfterItem(cloneDiv); }); // 给删除按钮添加点击事件

    24.4K40

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

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

    4.9K50

    前端JavaScript中的动态事件添加

    动态事件添加是一种在JavaScript中实现交互的重要技术。本文将介绍动态事件添加的概念和优势,并详细介绍两种常用的动态事件添加方法。...动态事件添加的优势 动态事件添加具有以下优势: 灵活性: 可以根据特定条件或动态生成的内容来添加事件,实现更加灵活的交互效果。 可扩展性: 可以在任何时候添加或移除事件,方便进行功能的扩展和调整。...通过addEventListener()方法动态添加事件 addEventListener()方法是DOM对象提供的一种常用的事件添加方式。...可以通过以下步骤动态添加事件: 1.获取需要添加事件的DOM元素。 2.使用addEventListener()方法,指定要添加事件类型和对应的事件处理函数。...3.在父元素的事件处理函数中,通过判断事件的目标元素,确定要执行的操作。 总结 动态事件添加是前端开发中实现交互性的重要手段。通过动态事件添加,我们可以实现灵活、可扩展的交互效果,减少重复代码的编写。

    29520

    如何动态加载js

    第三方的js文件,自己写的js文件,js越来越多了怎么办? 提出问题: 1、js文件太多了,每个页面都写太麻烦。 2、如果路径变化了,或者js名称变化了怎么办?...3、如何约束js文件的加载顺序?a.js定义了一个函数,b.js要调用,但是b.js先加载了,a.js还没加载完成,造成函数未定义,无法调用。 4、js文件的合并。...5、加载js完毕之后,要可以执行回调函数。  解决问题: 如何解决这些问题呢?我想到的办法是——动态加载js。就是通过js代码的方式来加载。...弄了好久才发现,原来是js文件会被加载多次。 为什么被加载了多次呢?原因在于 onreadystatechange 和 onload 。为什么这两个事件都调用了callback?...下一步是如何管理js。还有js的客户端缓存、复用的问题。

    12.8K50
    领券