- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我使用了 jQuery 版本 2.2.4 并 try catch 事件 - 没有成功。有什么办法可以解决问题吗?
此代码有效:
window.addEventListener('test.namespace', e => console.log('CustomEvent with namespace captured by vanilla'));
这不起作用:
$(window).on('test.namespace', e => console.log('CustomEvent with namespace captured by jQuery'));
const event = new CustomEvent('test.namespace', {
bubbles: true,
detail: 123
});
window.dispatchEvent(event);
最佳答案
“普通”DOM 事件系统没有命名空间的概念。 window.addEventListener('test.namespace', ...)
字面上会监听一个名为 test.namespace
的事件,这就是您使用 new CustomEvent('test.namespace', ...)
创建的内容.
Event namespaces是jQuery中的一个概念:
An event name can be qualified by event namespaces that simplify removing or triggering the event. For example,
"click.myPlugin.simple"
defines both the myPlugin and simple namespaces for this particular click event. A click event handler attached via that string could be removed with.off("click.myPlugin")
or.off("click.simple")
without disturbing other click handlers attached to the elements.
这里重要的是命名空间不是事件名称的一部分。这就是为什么 new CustomEvent('test.namespace', ...)
不起作用,但是 new CustomEvent('test', ...)
会的。
如果你想触发特定命名空间的事件,你必须为此使用 jQuery:
$(window).trigger('test.namespace', {detail: 123});
$(window).on('test.namespace', e => console.log('CustomEvent with namespace captured by jQuery'));
$(window).trigger('test.namespace', {detail: 123});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
关于javascript - 调度名称中带有点的 CustomEvent 不会触发 jQuery.on() 事件监听器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37617980/
好吧,自从几天前的最后一个问题以来,我已经取得了一些进展,但在 Javascript 和 Three.js 方面我还是很陌生,并且正在遇到这个新问题。 我正在尝试将从 OBJ 文件加载的一些 thre
我知道我的问题并不新鲜,但是我在这里和Internet上找到的所有解决方案均不起作用:(或者,我做错了什么。 我需要在Dart和JS之间建立通信,并且我想使用事件,因为这个想法看起来很简洁。 因此,我
我创建了一个自定义元素: const templ = document.createElement('template'); templ.innerHTML = ` `; class SlideBu
我需要创建一个自定义事件,它将一些数据传递给事件监听器。我已经创建了一个像下面这样的 自定义事件 var event = new CustomEvent('store', { 'detail': ob
我正在尝试创建自定义 Javascript 事件。该事件正常运行并触发,但我传递给它的“详细信息”对象不可用。 这是我用来创建和发送事件的代码: var double_tap = new Custom
我在 azure Insights 中以自定义事件格式保存了数据。现在,我需要在我的网站中创建一个仪表板页面,该页面将从见解中提取数据并显示该数据的图表。问题是我如何根据自定义事件中保存的数据过滤数据
我在 azure Insights 中以自定义事件格式保存了数据。现在,我需要在我的网站中创建一个仪表板页面,该页面将从见解中提取数据并显示该数据的图表。问题是我如何根据自定义事件中保存的数据过滤数据
我在一个函数上有一个 CustomEvent 参数,我想检索事件的名称,即它是用 (new CustomEvent('foo')) 构造的字符串 为了引用 https://developer.mozi
我正在尝试将 CustomEvent 合并到我的工作流程中。但我需要此事件以两种方式进行通信:脚本将事件发送到文档,并且它应该响应相同的发起者。 我试过以下方法: ev = new CustomEve
每次单击附加不同数据的 div 时,我都需要触发一个自定义事件。 这是我的代码的一个简化变体 (JSFiddle): click me function selectItem(id) { v
我想测试是否CustomEvent constructor支持。 var ev; if (/* CustomEvent constructor supported? */) { ev = ne
我有以下代码块 $(function(){ var TaskEvent = new CustomEvent('TaskAdded',{ detail: {
我正在尝试为也支持 IE8 的 CustomEvent 制作一个 polyfill,这就是我想出的: if (typeof window.CustomEvent === "function") {
IE 不支持CustomEvent() 构造函数。是否可以使其至少与 IE11 兼容?它适用于其他浏览器,例如 Chrome 和 Firefox。 例如:- var SpecialEvent = ne
来自document.createEvent The createEvent method is deprecated. Use event constructors instead. 在bootst
根据(我的理解)documentation ,如果任何事件监听器在处理事件时调用 Event.preventDefault() 方法,则 dispatchEvent 方法应返回 false。但如果我尝
我正在尝试在 vanilla javascript 中创建自定义事件,但并不真正了解如何触发它。据我所知有jQuery方法trigger('customEvent') ,但它是如何在 Vanilla
我使用了很多自定义事件, typescript 静态检查中的一个盲点是 CustomEvent 中的细节类型.由于这个盲点,很多重构都会受到影响。为了弥补,我为 CustomEvent 创建了一个全局
我试图从 JS 中调用 Angular 函数,但是传递给 Angular 的参数未定义。我缺少什么?理想情况下,我也想从调度事件返回结果。我应该使用更好的解决方案吗? JS函数 var event
如何测试 CustomEvent 是否在 jasmine 中调度?当我尝试运行以下代码时,出现错误:“ReferenceError:找不到变量:CustomEvent”。 function testC
我是一名优秀的程序员,十分优秀!