问题标签 [custom-event]

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 投票
1 回答
6730 浏览

jquery - JQuery - 循环通过自定义事件的动态元素

我在这里碰到了一点砖墙。我当前项目的前一位开发人员决定使用一个庞然大物的 JS 文件来构建这个应用程序的整个正面部分,几乎没有 html 用于页面结构。因此,基本上应用程序上的所有内容和结构都是动态生成的。

我已经学会了使用这个 18k+ 行的 JS 文件,但我终于遇到了一些障碍。我需要在具有 className 的其他元素数组中找到一个特定元素,.grid_elm并且需要在其上触发点击事件。

当前的 HTML:

问题:

每当用户从自动建议搜索框中选择一个选项时,#grid都会用新元素刷新。然后我需要遍历每个.grid_elm元素并根据它的子元素找到一个特定的元素,然后触发对该特定元素的点击.grid_elm- 但我不知道如何执行此操作,因为没有特定元素可以从中传播事件. 我不能真正为每个.grid_elm元素订阅自定义事件,然后在添加元素时触发自定义事件,#grid因为触发器要么发生在所有.grid_elm元素上,要么不发生,因为它可能需要更具体的触发反对。如果我这样做:

我可以获取元素列表,因为该事件是从特定元素触发的,但是如果我在触发自定义事件时尝试遍历每个元素,我什么也得不到:

即使我在#grid没有任何参考的情况下直接订阅并触发事件.grid_elm,然后尝试循环遍历它的子项,我仍然一无所获。我觉得我错过了一些关于自定义事件处理的非常基本的东西。

0 投票
2 回答
246 浏览

javascript - 如何确定浏览器是否支持事件对象的属性?

一些支持触摸的浏览器(例如 Mobile Safari)在其对象上具有可用的scaleandrotation属性,event用于诸如touchmove.

我可以像这样检测对scale属性的支持......

但是,有没有一种方法可以检测到它而不必绑定监听器然后在回调中查找属性?

例如,如果这有效?

我试过看createEvent(),但它已被弃用。我查看了new CustomEvent(),但不确定要为触摸事件使用哪个字符串。

0 投票
1 回答
270 浏览

c++ - COM c++ 中的自定义事件处理

我有一个具有事件签名的 ac#.NET 类,它使用这样的传出接口向 COM 公开:

在 PluginAPI.h>> 我有

//基于tlh文件声明的EmptyEvent方法

我在 Firebreath 声明中的事件助手是

我也看到了这个链接。所以 boost::variant 支持对吗?那么如何将 VARIANT 转换为 boost::variant?上述声明中预期的任何变化?如何使用 VARIANT 或 struct 在 c# 中处理上述事件?任何示例都会有所帮助..

0 投票
1 回答
380 浏览

javascript - 自定义鼠标悬停触发器 d3.js javascript

我正在使用 d3.js,并希望使用自定义触发器创建自定义事件。

据我了解,当鼠标指针悬停在某个元素上方时,将触发“鼠标悬停”事件,即水平和垂直指针位于元素内。

我想做的是触发一个自定义事件,比如“xmouseover”,只要鼠标指针水平地在元素内,就会触发该事件。这不应该是一件更简单的事情,因为我不需要关心垂直位置吗?

0 投票
2 回答
69 浏览

javascript - 在课堂上完成的自定义事件

在一次工作面试中给了我以下两个代码示例,但我无法让它工作:

因此不能修改给定的两个代码,调用的Event()应该可以工作,因此两个代码示例都会输出“Hello world”。现在,我不要求一个完整的答案。我不擅长Javascript中的ClassesCustom 事件。我知道基础知识,但它还没有真正掌握在我手中,如果你知道我的意思的话。我一直在寻找教程,但我需要“更聪明”的人来告诉我应该从哪里开始,可能会为我的问题提供一些好的教程链接。

谢谢!

0 投票
2 回答
704 浏览

android - 带有 CustomEvent 的 Android View,将 View 作为参数传递

我有一个 DataAdapter 类,它的 getView() 返回一个自定义视图类。View 本身是一个包含一些控件的 LinearLayout,其中一个是 CheckBox。它还有一些属性——来自数据库的 ID 和它在 DataAdapter 中的索引。

当 CheckBox OnCheckedChange 事件触发时,我希望在 DataAdapter 中触发一个事件,以便我知道更改基础数据。我可以使用界面在视图中设置自定义事件:

并从 CheckBox 的 CheckedChange 调用它:

但我不能做的是找到一种方法将视图作为参数传回。如果我更改界面以返回视图:

我无法从 OnCheckedChangeListener() 内部返回视图:

我收到一个错误:“MyCustomView.OnChangedListener 类型中的方法 onChanged(MyCustomView) 不适用于参数(新 CompoundButton.OnCheckedChangeListener(){})”

我考虑过使用 Handler.Post,但是我会在 Runnable 中,所以我仍然无法公开视图。

我敢肯定一定有一些简单的东西我错过了......

0 投票
2 回答
3165 浏览

javascript - 如何在 vanilla Javascript 中创建、添加自定义属性和触发自定义事件

设想:

在浏览网页寻找 Javascript 自定义事件的解决方案时,我找不到任何实际示例,甚至 MDN 资源也非常有限。

我正在尝试重建paperjs 的 onMouseDrag 事件。我的预期用途是用于类似绘画的 Web 应用程序。

onMouseDrag 事件在以下情况下触发:

  • 鼠标左键按下
  • 鼠标在移动

目标:

这里的目标不是有一个工作onMouseDrag事件。目标是如何创建CustomEvent. 该onMouseDrag事件仅作为示例。

要求:

  1. 答案应该是vanilla-js或纯 js。(没有 jQuery 或任何其他库)
  2. 答案应该使用new CustomEvent()or new Event(),而不是任何不推荐使用的方法。
  3. 当 mousedrag 被调用时,传递的事件参数应该与mousemove 接收的事件参数相同。

代码:

我试过以下

0 投票
1 回答
624 浏览

javascript - 将自定义事件添加到 HTML 5 中的音频标签

我正在使用 HTML5 中的音频标签在页面上呈现音频。

我想在播放、暂停、音频结束时触发自定义事件,并在音频进行时以特定间隔触发。我尝试了以下所有方法将事件与音频播放器绑定,但未能成功。

方法 1 -

方法 2 -

方法 3 -

方法 4

0 投票
2 回答
9285 浏览

internet-explorer - event.preventDefault() 在 IE 11 中不适用于自定义事件

我有一个同步触发自定义事件的聚合物元素,我想知道是否使用 event.preventDefault() 取消了该事件。使用 event.defaultPrevented 我可以知道预期的操作。这适用于所有浏览器(Chrome、Canary、Firefox、Opera),但在 IE 11(不担心旧浏览器)上不起作用。我知道我可以在我的事件上设置一些属性并检查我正在触发和处理的位置,但想知道是否还有其他我错过的东西。

您可以从http://jsbin.com/husamupi/1/edit试用代码

0 投票
0 回答
51 浏览

jquery - 如何将延迟与自定义事件一起使用

我正在编写一个插件,它发出事件activatingactivated. 我只想在执行activated所有事件处理程序时触发事件activating。我知道$.trigger()同步调用事件处理程序,但问题是我的事件处理程序中可能有一些异步代码

例子:

我有一些关于 $.Deferred & Promises 的线索,但我不知道如何实现它们来解决我的具体问题。

有人可以给我解决方案吗?

谢谢