首页
学习
活动
专区
工具
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键盘绑定事件

    在Web开发中,有时候我们可能会把页面中的某些按钮绑定到键盘的输入事件中。以下代码能方便实现我们需要的功能。...js代码:         document.onkeyup = function (event...                default:                    break;             }         } 在Web开发中,有时候我们可能会把页面中的某些按钮绑定到键盘的输入事件中...question backslash keycode 252 = asciicircum degree keycode 253 = 3 sterling keycode 254 = Mode_switch 使用...0X56 P  0X80  9   0X57 Q  0X81 ESC  0X1B R  0X82 CTRL  0X11 S  0X83 SHIFT 0X10 T  0X84 ENTER 0XD 如果要使用组合键

    4.4K100

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

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

    7.9K30

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

    绑定事件)注册事件有两种方式:传统方式和方法监听注册方式1.1传统方式1.利用on开头的事件onclick2....,最 后注册的处理函数将会覆盖前面注册的处理函数1.2方法监听w3c推荐特点:注册事件的不唯一性使用addEventListener()方法eventTarget.addEventListener (...father.addEventListener('click', function () { alert('father') }, false); 注意:JS...// 当我们注册事件时,event 对象就会被系统自动创建,并依次传递给事件监听器(事件处理函数)。...e 就是个事件对象写到我们侦听函数的小括号里面当形参来看事件对象只有有了事件才会存在,它是系统给我们自动创建的,不需要我们传递参数.事件对象是我们事件的一系列相关数据的集合跟事件相关的比信息

    18010

    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

    jquery 使用 unbind 解决重复绑定执行事件

    原文:jquery 使用 unbind 解决重复绑定执行事件 存在问题 在jquery监听click事件的时候会出现点击一次没有重复,点击第二次就重复的情况。...问题:发现重复打印了前面绑定了 id = 1 的日志数据。 问题的基本原因:应该是上一行删除的数据 id 的click事件没有被解绑,当再次触发的时候,就重复执行上一次绑定事件。...说明前面绑定事件又重复之前了一遍。 这个就有点像jquery执行动画效果之前,需要使用一个stop()方法,将之前执行的动画都停止掉一样。...这种事件绑定重复的执行问题,需要一个unbind()方法,先解除绑定,再绑定执行,才能解决重复执行。不然重复进行绑定事件,那么就会重复执行事项。 查看解决代码 看看问题代码,如下: ?...就是箭头的位置多次进行click事件绑定导致重复执行了。 解决方法,如下: ? 在执行事件绑定之前,进行 unbind('click') 即可。 ?

    1.6K30

    jQuery 事件(三) 事件绑定和解绑、对象的使用、自定义事件

    事件绑定和解绑 on()的多事件绑定 之前学的鼠标事件,表单事件与键盘事件都有个特点,就是直接给元素绑定一个处理函数,所有这类事件都是属于快捷处理。...() 事件对象的使用 jQuery事件对象的作用 标准的”click”点击事件 $(elem).on("click",function(event){ event //事件对象 }) 在不同浏览器之间事件对象的获取...DOM元素 冒泡前的当前触发事件的DOM对象, 等同于this. this和event.target的区别: js事件是会冒泡的,所以this是可以变化的,但event.target不会变化,它永远是直接接受事件的目标...比如this和(this)的使用、event.target和(event.target)的使用; 自定义事件 trigger事件 类似于mousedown、click、keydown等等这类型的事件都是浏览器提供的...尽管 .trigger() 模拟事件对象,但是它并没有完美的复制自然发生的事件,若要触发通过 jQuery 绑定事件处理函数,而不触发原生的事件使用.triggerHandler() 来代替 triggerHandler

    4K30

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

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

    1.8K00
    领券