问题标签 [custom-events]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
610 浏览

javascript - 自定义 JQuery 事件在一个地方触发,但不在另一个地方触发

这可能只是我自己对事件如何工作的无知,但有人可以解释一下:自定义事件不会在函数顶部触发,但会在该函数内部的回调中触发。

以下工作(自定义事件触发):

以下不起作用(自定义事件不会触发):

事件绑定如下:

我真的希望它在函数的顶部触发。非常感谢任何帮助!

注意:跨浏览器的问题相同,无论是否有额外的数据参数。

0 投票
2 回答
1023 浏览

javascript - 在 Prototype 中绑定和触发原生和自定义事件

我对原型中的事件有一点问题。

我正在尝试绑定和触发本机事件:onhashchangeonpopstate. 以及我的自定义事件:statechangeanchorchange. 所有这些事件都是针对window元素的。

这是我已经尝试过但没有运气的代码:

任何帮助,将不胜感激。

0 投票
2 回答
231 浏览

actionscript-3 - 仅在分配参数变量时如何运行功能?

我需要一种方法来等待运行 parseCSV 命令,直到 readFile 事件更新了 importData 的内容。我已经看到了一些关于自定义事件调度程序的事情,但不能完全弄清楚如何在我的情况下使用它们。

0 投票
2 回答
312 浏览

jquery - jQuery 自定义事件序列

我正在创建一个自定义 JS 对象。这个对象执行一些action. 我希望能够通知消费者action将要执行并且 action已经执行的对象(通过触发自定义事件)。(这种行为模型在控件具有onBeforeActiononAfterAction事件的 ASP.NET 中是已知的)。
棘手的部分是我希望消费者能够停止/中断事件序列。

这是所需行为的算法(在 Human# 中):

在我的对象中拥有此功能将允许消费者执行以下操作:

关于如何实现“可控”事件序列的任何想法都会很棒。
提前致谢。
// R

0 投票
2 回答
3980 浏览

google-analytics - 如何在 Google Analytics 中跟踪哪些页面导致了自定义事件?

我有多个页面被谷歌分析跟踪。在所有这些页面上,我都有一个出站链接,我调用它来创建一个自定义事件 - 所有页面上的操作都命名相同。

如何查看导致此事件发生的页面的细分。IE

第 1 - 7 页点击出站链接,第 2 - 2 页点击出站链接,第 3 - 1 页点击出站链接,第 4 - 19 页点击出站链接

谢谢!

0 投票
1 回答
153 浏览

google-analytics - 您如何深入了解 Google Analytics(分析)自定义事件数据?

人们使用什么来挖掘 Google Analytics(分析)数据?

例如,我有一个跟踪自定义事件的网页。我想跟踪几个指标:

1) 该页面上至少有多少用户成功调用了该事件?

2)我如何查看用户在页面上(或在会话中,等等)时调用事件的次数,例如:

理想情况下,我会定期通过电子邮件将这些数据通过电子邮件发送给我,也许还有第二部分的图表。建议?

0 投票
1 回答
2740 浏览

javascript - jquery ui-(滑块)自定义事件绑定不起作用

我在弄清楚为什么我的自定义事件没有触发和正常工作时遇到了一点问题......我的自定义事件应该附加到每一列,我怎样才能让滑块只绑定到一列(下面的 cols 对象) ? 使用我当前的代码,如果我单击任何 col,所有 cols 都会调整大小...

我正在尝试使用在一个小 div 内打开的滑块动态调整表列的大小,如果单击表,我的小对话框已加载,然后获取所有当前列宽并添加事件处理程序,我的代码是:

桌子:

滑块:

0 投票
2 回答
6087 浏览

jquery - 将匿名函数传递给 Javascript/jQuery 中的自定义事件触发器

我正在尝试在 DOM 元素上触发自定义事件,并在触发事件时传递要执行的匿名函数(使用 jQuery)。所以是这样的:

所以点击“some-button”应该触发“some-dom”上的“custom_event”,并导致我在触发器上传递的匿名函数被执行。正确的?但是浏览器说自定义事件中未定义回调。难道我做错了什么?是否不允许将匿名函数作为触发参数传递?谢谢

0 投票
2 回答
221 浏览

javascript - 在jQuery中绑定自定义事件时触发代码

JQuery 对自定义事件有很好的支持 - .bind("foo", function(e).... 但是,如果触发事件的机制还没有准备好并且只能在那些绑定了事件的元素上构建呢?

例如,我想要一个scrollin在元素滚动到视口时触发的事件。为此,我onscroll必须检查所有元素以及trigger scrollin那些在视口之外而现在在视口内的元素。这是不可接受的。

有一些技巧可以加快速度。例如,其中一个插件会检查“私有”$.cache中的所有元素,并且只检查那些scrollin绑定了事件的元素。

但这也很丑陋。我需要的是一个额外的事件绑定回调(除了处理回调之外),它将负责滚动管理,即将元素放入某个elementsCheckOnScrol缓存数组中。

我正在寻找类似的东西:

编辑:这将是不错的 api!

:-)

0 投票
2 回答
531 浏览

jquery - 如何在网站和谷歌浏览器扩展之间的 javascript 中实现发布/订阅“模式”?

我正在尝试在网站和谷歌浏览器扩展之间实现发布/订阅模式。到目前为止,我的大部分实验都是使用 jQuery,因为它具有强大的绑定/触发语法,但我运气不佳。

背景:我正在使用一个开源的、基于 Ruby/Rails 的 Pomodoro 技术实现。我修改了站点的代码以使用 jQuery 的 $.trigger 语法公开其活动,以发布计时器会话开始和计时器会话结束的可观察事件。只要我可以将执行跟踪到 jQuery 事件代码中,这些触发器就可以工作。因此,该网站是几个相关事件的发布者。

我通过加载 jquery 并使用 .bind() 语法绑定到站点发布的自定义事件,在 google chrome 扩展中实现了事务的侦听器/订阅者端。该扩展正在为该站点加载,并为该站点的 url 中的所有路径设置了权限。

从发布端我尝试 $.event.trigger() 和 $(document).trigger() 尽可能通用,在订阅端我尝试绑定到几个相关元素,最普遍的是$(文档).bind()

当我在执行扩展中的绑定调用后通过暂停执行来观察自定义事件绑定并分析 console.dir($(document).data('events')); 的结果时 我在列表中看到我尝试订阅的自定义事件。

但是,当我分析 console.dir($(document).data('events')); 的结果时 就在网站端触发自定义事件之前,必要的事件处理程序不会出现在列表中。

我是否遗漏了一些明显的东西应该如何工作?

ps 我应该注意,如果我直接绑定到触发更改的元素上的“click”事件,我的扩展代码可以完美运行,但是站点的 DOM 在执行过程中会发生变化,所以绑定在不久之后就会中断,所以我希望某种发布-订阅机制可能更明智。

编辑

正如我在回复@ChrisNZL 的回答中指出的那样,我尝试了 .live() 而不是 .bind() 并看到了相同的行为。