event-delegation相关内容
我有多个输入字段,我希望通过传递TextBox的ID作为参数对所有这些字段应用onkeyup事件。我想要多个KeyUp事件,因为我想处理一些基于输入ID的计算。我尝试了,但失败了。请提出一些解决方案。 function GetDynamicTextBox(value) { return "" +"
..
我正在学习事件是如何工作的,主要是addEventListener中的事件捕获和冒泡。这article对整体理解很有帮助。 捕获和冒泡定义父元素中事件发生的顺序。据我所知this is important是因为事件委托。并且addEventListener实际上并不为您委派事件,它只是搜索委派的事件,这样做正确吗? 除了事件委派之外,是否还有其他原因搜索DOM层次结构? 当我将DOM
..
我使用单个选择器将委托事件处理程序附加到页面上的许多元素.由于事件是针对单个元素触发的,我想仅关闭该元素的事件处理程序基于某些条件逻辑.这意味着我不一定要在第一次点击时禁用该事件.但是如果不关闭所有这些,我不知道该怎么做. HTML: 一个两个三个 JS: $(document).on('click'
..
谁能告诉我flex中target和currenttarget的区别? 解决方案 当然,我也遇到了一些麻烦.currentTarget 属性是您为其注册事件处理程序的 IEventListener.target 是调度您当前正在处理的事件的目标.所以 currentTarget 改变了,target 没有改变. 查看以下示例: 示例应用
..
在 JavaScript 中,我曾经使用这样的事件委托: someDiv.addEventListener('click', function(evt){if(evt.target.id == "#someChild"){//做一点事..} else if(evt.target.id == "#anotherChild"){//做其他事情..}}, 错误的); jQuery 中的 this 等
..
我正在尝试在 vanilla JS 中进行事件委托.我在这样的容器内有一个按钮 再次出发 并按照 David Walsh 的好说明 我正在向按钮的祖先添加一个事件处理程序,例如所以: this.cont
..
我正在尝试停止一些事件,但 stopPropagation 不适用于“live",所以我不知道该怎么做.我在他们的网站上找到了这个. 现场活动不会在传统方式,不能停止使用 stopPropagation 或停止立即传播.例如,以两个点击事件为例 -一个绑定到“li",另一个绑定到“li a".如果内部发生点击锚点两个事件都会被触发.这是因为当一个$("li").bind("click", f
..
动态创建的 dom 元素的事件委托的本机实现是什么? 我尝试查看 jQuery 源代码,但我无法遵循 .on 方法. 注意:目前我在创建 dom 元素后附加事件处理程序,这看起来很标准,但我喜欢 jQuery .on 使用这种语法处理动态创建的元素事件的方式 $(文档 ).on( "click", ".selector", handler );. 解决方案 发生的事情基本上是这
..
更新:(回顾、小提琴和赏金) 这个问题没有得到太多关注,所以我打算花一些时间在上面.我知道我的回答和问题都过于冗长.这就是为什么我继续设置这个小提琴,在我看来,这是一种不错的代表我目前不得不使用的代码来接近冒泡的 change 事件.我正在尝试解决的几个问题: pseudo-change 事件不会在选择元素上触发,除非它失去焦点.在某些情况下,应在选择新值时重定向客户端.我如何实现这一
..
谁能解释一下 JavaScript 中的事件委托以及它有什么用处? 解决方案 DOM 事件委托是一种通过事件“冒泡"(又名事件传播). 当在元素上触发事件时,发生以下情况: 事件被分派到它的目标EventTarget 和任何事件监听器发现有触发.冒泡事件将触发任何发现的其他事件侦听器跟随 EventTarget 的父级链向上,检查任何事件在每个注册的听众连续事件目标.这个向上传
..
我正在尝试在 Angular 中实现诸如委托模式之类的东西.当用户单击 nav-item 时,我想调用一个函数,然后该函数发出一个事件,该事件又应由其他侦听该事件的组件处理. 这里是场景:我有一个 Navigation 组件: import {Component, Output, EventEmitter} from 'angular2/core';@成分({//为简洁起见省略了其他属性事
..
谁能告诉我 flex 中 target 和 currenttarget 的区别? 解决方案 当然,我也遇到了一些问题.currentTarget 属性是您为其注册事件处理程序的 IEventListener.target 是调度您当前正在处理的事件的对象.所以 currentTarget 改变了,target 没有. 看看下面的例子: 示例应用
..
基于以下HTML标记:
更多详细信息
Lorem ipsum lorem ipsum lorem ipsum 我编写了以下JavaScript代码: let btn = document.query
..
我还没有看到此函数的来源,但我想知道,它的工作原理如下: 通过其选择器选择元素 将提供的事件处理程序委派给他们 在该选择器上运行 setInterval 并不断取消委派,然后重新委派同一事件 还是对此有一个纯JavaScript DOM解释? 解决方案 我假设您的问题与事件委托版本,位于 .on 。 在JavaScript中,大多数事件冒泡都位于DOM层次结构中。这意
..
除了从$(document)进行委派以外,是否有任何方法可以使用jQuery委派一个事件,该事件将与匹配选择器的页面上的所有元素相对应? 由于这可能是措辞不佳的,因此有一个麻烦之处: 曾经有jQuery.live将事件委派给所有与选择器匹配的元素.这由jQuery.delegate取代,后者将特定上下文选择器中的事件委派给其子级,而子元素又由jQuery.on取代,该子实际上执行相同的
..
通常,您为按钮单击编写处理程序,如下所示: $(document).ready(function() { $("button").click(function() { doSomething(); }); }); 但对于 function doSomething(event) { if (ev.target.id == 'button1' ) { //do
..
在JavaScript中,我曾经这样使用事件委托: someDiv.addEventListener('click',function(evt) { if(evt.target.id ==“ #someChild”){ //做某事.. } else if(evt.target.id ==“ #anotherChild”) { //做其他事情。. } },否);
..
我正在尝试在Angular中实现类似委派模式的操作. 当用户单击nav-item时,我想调用一个函数,该函数然后发出一个事件,该事件应由监听该事件的其他某些组件依次处理. 这是场景:我有一个Navigation组件: import {Component, Output, EventEmitter} from 'angular2/core'; @Component({ // o
..
如果有人能帮助我弄清楚为什么在MooTools中使用事件委托(来自Element.Delegation类)时无法以编程方式触发事件,将非常感激. 有一个父级
,在某些子级元素上具有一个change侦听器.当更改事件由用户操作触发时,父div上的处理程序将被触发,但是当我在任何子输入上使用fireEvent以编程方式将其触发时,则不会发生任何事情.基本设置是: ht
..
我正在这样做: $(".classname").bind("keypress",function(){ alert("event happened"); }) 类似于上面的代码,仅工作一次,我的意思是,第一次键入并单击Enter时,它是有效的,但是下一次,它根本没有反应. $("#id").bind("keypress",function(){ alert("haii
..