首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    js绑定事件代理的坑

    js通过事件代理的方式绑定跳转事件,我这里的逻辑是把click事件绑定在最外层container上面,如果e.target包含我已经写好的class,则执行跳转逻辑。...但是这种方式好像只能是在点击的元素的上面,也就是最内层的元素上面有相应的class才能跳转,在外层加同样的class不生效,说明是我对于事件代理的理解不够深刻,其实事件代理的作用就是为了把目标元素事件绑定在外层做代理...jumpUrl的 class时执行点击事件,又想要外层元素含有class时执行点击事件,修改优化如下: document.querySelector('#container').addEventListener...('click', function (e) { console.log(e.currentTarget) //获得当前绑定监听事件元素, container console.log...注意:内层元素,即点击的目标元素必须是点击时真正的目标元素,而不是外面一层; currentTarget绑定相应想要点击的class的时候必须是做代理的即做事件监听的元素

    4.9K20

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

    最近一段时间打了一个大仗,现在总算消停点,才有时间来做个总结吧算是: 移动端遇到一个项目,是一个列表的侧滑栏,在我这里用jq写的交互事件。自测各方面都挺好的,美滋滋的了研发。...所以一开始事件找不到“接头人”就没有执行。 扫噶,定位到问题,就好解决了。 之所以整理成随笔,是因为我之前没遇到过这个问题,听过事件委托机制,但是根本没研究过不知道适用于什么样的bug场景。...,是通过获取元素的类名被点击后执行对应方法,但是研发套完模板,他会把所有的结构先清空,导致jq根本找不到那个元素,所以事件就不得执行了。...正规点的说:JS异步加载,JQ事件不被执行解决方法(百度的标题,hah) jquery中动态新增的元素节点无法触发事件问题(同上) 解决方法: ? ?...但是缺点是:一个元素添加多个事件委托机制时,他就挂了。  王者方法:on ? //模拟多个事件!

    4.9K50

    【前端篇】对象强制性绑定事件

    在写js代码时,常常需要给某些对象绑定事件,但是前提是,某对象绑定事件时,该对象必须已经渲染出来了,否则绑定事件肯定是无效的,但是在实际开发时,比如用到一些内部框架进行开发时,绑定事件在渲染之前就已经执行了...,且不方便修改,此时使用如下写法:保证绑定事件一定可以绑定到指定对象,不用考虑渲染先后: $document.on({},对象) 指的是将事件直接绑定在document上,每次document有点击动作...如上在绑定三个事件时,class为yifang的对象还没有渲染出来,就无法绑定成功,使用上面方法将事件直接绑定到document上面,就可以实现class为yifang绑定上如上三个事件了。

    6310

    【Node.JS事件绑定与触发

    往期文章 【Node.JS】写入文件内容 【Node.JS】读取文件内容 目录 简介 绑定事件 on() addListener()  once() 监听事件emit()  传参  删除事件 removeListener...()  removeAllListeners() ---- 简介 node.js事件是使用events模块,通过实例化它里面的EventEmitter类,来绑定和监听事件。...绑定事件 on() const eve = require("events"); //导入模块 var event = new eve.EventEmitter(); //进行实例化声明 event.on...('namea', function () { console.log("坚毅的小解同志"); }) 查看绑定事件 const eve = require("events"); //导入模块...event.emit('namea', '小解');  once() once 只会绑定一次性的触发事件,触发一次后就会解除绑定

    11.1K40

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

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

    7.9K30

    使用jQuery.data()查看元素绑定事件

    最先想到的是浏览器面板上面的,可以选中元素,看元素上面的事件绑定。 但浏览器上面看到的是结果量,也就是看到的是已经丢失了事件元素,但我还是不知道什么时候丢失的。...我可以断点取到每个阶段的HTMLElement元素的状态,但是,这个时候,我却找不到观察其事件绑定情况的方法。 谷歌好久,发现JS原生是没法查看事件绑定情况的。...而jQuery自身事件绑定,额外添加了一层事件数组。...(也是这个原因,$.on()可以重复一个元素的同一个事件绑定多个handler,而直接addEventListener则只能绑定一个,后面的会覆盖掉前面的) 扯了这么多,show me the code...,就会返回这个元素上面绑定的所有事件

    1.9K00

    google跟踪代码管理器gtm无法相同class元素绑定click事件埋点解决

    在通过clickClasses相同class的多个元素绑定click事件埋点的时候,发现无法实现,通过gtm管理器调试发现,点击的时候,显示的是里层被点击的元素,而我们想要绑定整个外层的大块元素,所以这时候我们只能自己写...js实现了。...1、新建触发器,绑定页面加载事件,到某个页面 ?...2、绑定事件代码,这里发现,正常addEventListener默认是冒泡事件元素绑定click事件,点击子元素的某个元素会冒泡的顶级元素,但是这里并不能冒泡上去,所以暂时兼容办法,采取DOM0级事件绑定...,onclick方式,但是这样有一个弊端,就是如果该元素本身原来如果有click事件,会被覆盖,所以如果是使用这种方法,一定要避开已经有绑定click事件元素

    1.2K10
    领券