event-delegation相关内容

单击事件未在chrome中委派

在我的应用程序中,我创建了一些新元素,并根据use的操作将它们附加到页面上, var dv = document .createElement( 'DIV'); //为dv 设置样式..... 之后创建这个div元素,我将添加一些事件: MyLib.Event.addDomListener(dv,'click',function (e){ console ..
发布时间:2019-06-13 18:53:47 前端开发

jQuery.on()如何工作?

我还没有看到这个函数的来源,但我想知道,它的工作原理如下: 选择元素by selecotrs 将提供的事件处理程序委托给他们 运行 setInterval on那个选择器并且经常取消委托,然后重新委派相同的事件 或者有一个纯JavaScript DOM解释对此? 解决方案 我假设您的问题是关于事件委派版本 .on 。 在JavaScript中,大多数事件在DOM层次结 ..
发布时间:2019-06-13 18:01:02 JavaScript

如何将javascript事件处理程序注册到尚未添加到页面的元素

我正在尝试构建一个greasemonkey脚本,该脚本将根据用户与其他动态创建的数据表交互动态创建数据表。我的问题是我每次创建一个表时都要进行两次传递:一个用于创建表,另一个用于获取表中的所有对象我想要添加事件处理程序(通过id)并添加它们的各种事件处理程序。 如果我尝试在创建表并将其插入HTML之前将onClick事件添加到表td ,我得到一个“组件不可用”的例外。 这非常麻烦,因为 ..
发布时间:2019-06-07 23:13:50 前端开发

MooTools - 以编程方式触发不与事件委派一起使用的事件

如果有人能帮助我找出为什么我无法在MooTools中使用事件委派(从Element.Delegation类)以编程方式触发事件,我将非常感激。 有一个父 在某个孩子<上有一个更改听众;输入> 元素。当用户操作触发更改事件时,父div上的处理程序会被触发,但是当我在任何子输入上使用 fireEvent 以编程方式触发它时,没有任何反应。基本设置是: html ..

用jquery hammer.js 2和事件授权长按(按住)

我最近升级到hammer.js 2并且我注意到的第一件事之一是“hold”已被“press”取代。 我的旧代码在事件委托中运行良好,但是当我将它放在特定元素上时,切换到仅按下似乎有效。 注意:我通过jquery插件使用hammer.js Hammer.js 1 $(element).hammer( )。在( “持有”,回调); 工作正常 $(r ..
发布时间:2019-05-25 18:59:15 前端开发

在jQuery验证插件中自定义事件委托

我目前正在设置jQuery验证插件,以便在我们的项目中使用。 默认情况下,会自动设置一些事件进行处理。即聚焦进/出,关键事件对所有输入进行火灾验证。我希望它只在单击提交按钮时触发。 此功能似乎内置于插件中,这使得执行此操作变得困难(没有修改插件代码,不是我想要做的事情)。 我在插件代码原型方法中找到了eventDelegate函数调用: $(this.currentFor ..
发布时间:2019-05-25 16:26:31 JavaScript

JavaScript:如何模拟Internet Explorer中的更改事件(委派)

更新: (回顾,小提琴和赏金) 这个问题没有得到太多注意,所以我要花一些代表。我知道我的答案和问题往往过于冗长。这就是为什么我继续设置这个小提琴,在我看来,这是一种不错的表现形式代码我目前不得不用来接近冒泡的更改事件。我正在尝试解决的几个问题: 伪更改事件不会触发选择元素,除非它失去焦点。在某些情况下,应在选择新值时重定向客户端。我如何实现这一目标? 在单击标签时调用处理程序,以及复 ..

我可以(在JavaScript中)写一个事件或函数,自动适用于一种HTML标签?

我正在寻找一种将 onclick(); 或函数应用于所有 标记在我的页面中,即使是稍后创建的标记,就像所有这种类型的html标记的通用顺序一样。 尽管ID类型或任何其他属性只有标签名称。 编辑:由@mhodges回答介绍此 请注意,您应该使用 toLowerCase() too 解决方案 当您使用 onclick 时,您可以使用 $(“。c ..
发布时间:2018-06-24 18:53:54 前端开发

在动态生成的输入上委托预先输入

我有一个html表格,我正在使用它来输入库存详细信息。在这个表格中,我有一个输入框用于产品名称,我在其上绑定typeahead事件的bootstrap.But问题是,对于第一行输入框当它被呈现时它已经出现在页面上,typeahead工作正常。但是当我为更多条目添加新行时,typeahead不会与它们一起工作。我知道事件委托的概念,但问题是我没有知道如何在这种情况下实施它。诚挚地指导我通过这个。 ..

最有效的方式来动态绑定事件处理程序

问题:我需要将任意数量的事件处理程序绑定到任意数量的元素(DOM节点, window , document ),我需要能够在页面生命周期中更新动态创建(或销毁)节点的事件绑定。有三个选项可以解决这个问题: I)窗口上的事件委托 II)每个节点上的直接事件绑定 III)共同祖先的事件代理(直到运行时才会知道,并且可能需要在DOM改变时重新计算) 做这件事最有效的方法是什么? ..

jQuery对大型列表上的点击事件的委托表现 - 如果您动态添加更多元素,则会降低速度?

我有这样的项目的视觉列表: http://jsfiddle.net/viatropos/XCe3T/1/ 在真实的应用程序中,我只加载200个总项目。但问题是单击事件花费近一秒钟来调用处理程序,即使只有200个项目。 mouseover 事件回调立即执行,无论列表中有多少项目。 我的问题是,无论页面上有多少元素,代理方法也是一样快?我所做的就是这样: $(“body”)。 ..
发布时间:2017-08-31 05:13:30 开发方法

什么是DOM事件委托?

任何人都可以用JavaScript解释事件委托,它如何有用? 解决方案 DOM事件委托是一种响应机制通过一个共同的父母,而不是每个孩子,通过事件“冒泡”(也就是事件传播)的魔力来传播事件。 当一个事件被触发时元素,发生以下情况 : 事件被发送到目标 EventTarget 和任何事件听众 发现有触发。 冒泡 事件将触发任何 附加的事件监听器 发现code> Event ..

本机JS相当于jquery授权

我尝试查看jquery源代码,但我无法遵循.on方法。 p> 注意:目前我在创建dom元素后附加了事件处理程序,这似乎很标准,但我喜欢jquery .on处理动态创建的元素事件与这种语法的方式$(文件).on(“click”,“.selector”,handler); 解决方案 p> // $(document).on(“click”,处理程序) do ..
发布时间:2017-06-25 03:19:37 前端开发

如何停止事件冒泡与jquery活?

我正在尝试停止一些事件,但是StopPropagation与“live”无效,所以我不知道该怎么办。我在他们的网站上找到了这个。 现场活动不要以 传统方式泡沫,不能 停止使用stopPropagation或 stopImmediatePropagation。例如, 考虑两个点击事件 - 一个绑定到“li”和另一个“li a”。 如果在内部 上发生点击,BOTH事件将被触发。 ..
发布时间:2017-06-24 21:03:03 前端开发

删除特定对象上的jQuery委托事件处理程序

我已经使用单个选择器将委托的事件处理程序附加到页面上的多个元素。由于针对个别元素触发了事件,因此我想根据某些条件逻辑关闭该元素的事件处理程序。 这意味着我不一定要在第一次点击上禁用该事件。但是我不知道如何做到这一点,而不用关掉所有这些。 HTML: One Two Three ..
发布时间:2017-04-23 09:21:39 前端开发

从经典事件管理转到J​​avaScript OOP中的事件委托

旧的事件管理,其中特定操作的每个处理程序直接附加到目标元素,因为关于性能和内存节省的考虑在开发人员社区中开始传播。 事件委托实现有一个加速,因为jQuery更新了旧的 .bind()和 .live()方法与新的 .on()方法允许委派。 这决定了一些经验方法,在哪里使用事件委托,返工是必要的。 我试图制定一些最佳实践,同时保持我的库的编码风格,并寻找其他开发人员面临的类似情况找到答案 ..

代表团:EventEmitter或Angular2观测

我想实现像在Angular2一个委托模式。 当用户点击一个导航项,我想调用一个函数,然后发出应该反过来由其他组件侦听事件处理的事件。 下面是该方案:我有一个导航组件: 进口{组件,输出,EventEmitter}从'angular2 /核心“;@零件({ //其他属性冷落为了简洁 事件:['navchange'], 模板:` &LT; D​​IV CLAS ..