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

js绑定事件代理的坑

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

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

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

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

    6410

    【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

    Android中在activity别的页面的控件添加控件点击事件

    最简单的办法就是在xml的控件里写android:onClick="method",然后在activity里面写对应的方法。...在activity里直接写findViewById会出现空指针异常,因为当前activity对应的页面里面找不到要绑定控件。...于是在网上查到了另外一种办法: View view = getLayoutInflater().inflate(R.layout.test_layout, null); test_layout为想要添加点击事件控件的页面...,这样可以找到那个控件虽然不会报空指针异常,但是新建了一个View和当前activity使用的View不是同一个View,所以就算设置了点击事件也无效。...public void onClick(View v) { ad.dismiss(); } }); ad.show(); dialog为自定义的AlertDialog页面,然后Button

    1.8K20

    【如果你要学JS 】——事件绑定及解除DOM事件

    绑定事件)注册事件有两种方式:传统方式和方法监听注册方式1.1传统方式1.利用on开头的事件onclick2....该方法接收两个参数:●eventNameWithOn :事件类型字符串,比如onclick、onmouseover ,这里要带on●callback :事件处理函数,当目标触发事件时回调函数被调用2.删除事件...father.addEventListener('click', function () { alert('father') }, false); 注意:JS...// 当我们注册事件时,event 对象就会被系统自动创建,并依次传递给事件监听器(事件处理函数)。...e 就是个事件对象写到我们侦听函数的小括号里面当形参来看事件对象只有有了事件才会存在,它是系统给我们自动创建的,不需要我们传递参数.事件对象是我们事件的一系列相关数据的集合跟事件相关的比信息

    19510

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

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

    8.9K00

    VB.NET 为Treeview控件每个节点绑定独立的事件

    TreeView树状控件,在日常开发中我们会经常用到,但是我们在使用的过程中,想要点击某个节点触发某个过程方法;我们(哦不,是我自己)日常的做法,是使用节点点击事件(NodeMouseClick或者...AfterSelect)去根据节点名称Name或者节点Text逐一判断然后触发某个过程,不能把每个节点当作一个按钮来操作;   那么有没有一种方式,把节点当作按钮一样的,绑定一个独立的事件呢?...本人百度一圈都是用上面说到的方式;但是我今天要说的就是利用 TreeView的节点Node的Tag附件属性,把每个节点的事件绑定到对应的Node的Tag属性上;然后通过NodeMouseClick事件触发...,每个节点上的Tag绑定事件;具体请看以下实现代码; ?...Process.Start("https://baidu.com") End Sub) End Sub 三、把事件委托绑定到节点

    1.5K40

    JavaScript 事件绑定

    事件绑定分为两种:一种是传统事件绑定(内联模型,脚本模型),一种是现代事件绑定(DOM2级模型)。现代事件绑定在传统绑定上提供了更强大更方便的功能。...一.传统事件绑定的问题 传统事件绑定有内联模型和脚本模型,内联模型我们不做讨论,基本很少去用。先来看一下脚本模型,脚本模型将一个函数赋值一个事件处理函数。...; 问题一:一个事件处理函数触发两次事件 window.onload = function () {//第一组程序项目或第一个JS文件 alert('Lee'); }; window.onload = ...function () {//第二组程序项目或第二个JS文件 alert('Mr.Lee'); }; 当两组程序或两个JS文件同时执行的时候,后面一个会把前面一个完全覆盖掉。...PS:IE中的事件绑定函数attachEvent()和detachEvent()可能在实践中不去使用,有几个原因:1.IE9就将全面支持W3C中的事件绑定函数;2.IE的事件绑定函数无法传递this;3

    3.4K60
    领券