首页
学习
活动
专区
圈层
工具
发布

jquery中动态新增的元素节点无法触发事件解决办法

在使用jquery中动态新增的元素节点时会发现添加的事件是无法触发的,我们下面就为各位来详细的介绍此问题的解决办法.   ...每条留言后面有个回复按钮,class为“reply”,如果你用的是$(".reply").click(function(){ //do something... }),想必后面通过ajax加载进来的列表中的回复按钮,点击事件会失效...其实最简单的方法就是直接在标签中写onclick="",但是这样写其实是有点low的,最好的方式还是通过给类名绑定一个click事件。...解决jquery中动态新增的元素节点无法触发事件的问题有两种解决方法,如下: 方法一:使用live   live()函数会给被选的元素绑定上一个或者多个事件处理程序,并且规定当这些事件发生时运行的函数。...实现如下: $('.liLabel').live('click', function(){ alert('OK'); }); 方法二:使用on   可以通过on方法绑定事件,可以绑定到它的父级或者

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

    第77天:jQuery事件绑定触发

    2、坐标值 $(“div”).offset(); // 获取或设置坐标值 设置值后变成相对定位 $(“div”).position(); // 获取坐标值 子绝父相 只能读取不能设置 3、滚动条(滚动事件...(“div”).scrollTop(); // 相对于滚动条顶部的偏移 $(“div”).scrolllLeft(); // 相对于滚动条左部的偏移 案例:两次跟随的广告 案例:防腾讯固定导航栏 二、jQuery...事件 1、绑定 click/mouseenter/blur/keyup // 绑定事件 bind:$node.bind(“click”,function(){}); // 触发一次 one : $node.one...node.delegate(“p”,”click”,function(){}); on: $node.on(“click”,”p”,function(){}); 2、 解绑 unbind、undelegate off 3、触发...click : $(“div”).click(); trigger:触发事件,并且触发浏览器默认行为 triggerHandler:不触发浏览器默认行为

    2K30

    向zepto.js学习如何手动(trigger)触发DOM事件

    其中event.js事件处理模块的核心完成了zepto中事件绑定on,移除off还有手动触发trigger等功能。我们简单回顾下如何使用zepto的这三大功能。...好啦我们已经解决了$,$.fn是啥的疑问了,现在回去开始一步步解读如何实现手动触发事件。...我们主要看看$.Event,这里面几乎含有如何手动触发一个dom事件的大部分步骤和内容。 我们主要看看$.Event,这里面几乎含有如何手动触发一个dom事件的大部分步骤和内容。...到这里我们直接归纳一下要手动触发一个dom事件的基本步骤 手动触发一个dom事件,需要3步,如果你对document.createEvent,不是很熟悉,可以点击查看。...因为我们知道$()函数的使用方式有很多,有些方式得到的zepto对象是没有选中dom节点的) 最后还有一个else分支,这个分支处理走的不是手动触发事件,而是直接触发注册事件时添加的事件处理程序(因为这里涉及到

    5.6K50

    向zepto.js学习如何手动(trigger)触发DOM事件

    其中event.js事件处理模块的核心完成了zepto中事件绑定on,移除off还有手动触发trigger等功能。我们简单回顾下如何使用zepto的这三大功能。...好啦我们已经解决了$,$.fn是啥的疑问了,现在回去开始一步步解读如何实现手动触发事件。...我们主要看看$.Event,这里面几乎含有如何手动触发一个dom事件的大部分步骤和内容。 我们主要看看$.Event,这里面几乎含有如何手动触发一个dom事件的大部分步骤和内容。...到这里我们直接归纳一下要手动触发一个dom事件的基本步骤 手动触发一个dom事件,需要3步,如果你对document.createEvent,不是很熟悉,可以点击查看。...因为我们知道$()函数的使用方式有很多,有些方式得到的zepto对象是没有选中dom节点的) 最后还有一个else分支,这个分支处理走的不是手动触发事件,而是直接触发注册事件时添加的事件处理程序(因为这里涉及到

    4.4K20

    使用eventBus事件的重复触发事件问题的解决

    有两种方案可以实现: 使用 vuex 状态管理,当触发事件时,改变 vuex 中的状态,然后在需要响应事件的地方用 watch 监听这个状态,当状态改变时,响应事件。...使用 eventBus 事件总线,当触发事件时,发送一个通知出去,在需要响应的地方接收这个通知,响应事件。...事件重复触发的问题 坑一 正当你开心的准备玩耍的时候却发现好像有哪里不对劲,怎么事件会重复触发了,而且每次切换过路由后,事件执行次数就会加一,这怎么行,假如用户非常频繁的切换页面,那事件执行次数不是会越来越多...一番搜索后终于找到了原因,原来这是因为我们的事件是全局的,它并不会随着组件的销毁而自动注销,需要我们手动调用注销方法来注销。...知道了问题原因就好办了,我们可以在组件的 beforeDestroy ,或 destroy 生命周期中执行注销方法,手动注销事件。

    4.9K30

    jQuery之事件绑定到触发全过程及知识点补充

    ()来绑定事件 注意: (1)绑定常用的事件(如:click、focus),使用handleObj保存 handleObj = jQuery.extend( { //click,mouseout...可以看到 jQuery的事件和触发事件的handler是分离的, 事件集合 存在 事件缓存dataPriv的events上, //获取数据缓存 elemData = dataPriv.get( elem...jQuery的trigger是能够无差别模拟这个交互行为的 $("#A").trigger("click") 从trigger()的功能上就可以解释 为什么jQuery要设计元素与数据分离了: 如果是直接绑定的话就无法通过...trigger的机制去触发click事件, 正是因为jQuery没有直接把事件相关的handler与元素直接绑定,而是采用了分离处理, 所以我们通过trigger触发click事件与addEventListener...trigger方法了 关于$().trigger()的源码解析请看:jQuery源码解析之trigger() ---- 最后,附上自己做的 jQuery事件绑定到触发全过程的流程图: ?

    1.3K10
    领券