问题标签 [event-flow]
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.
jquery - 为什么一本书说 DOM 事件流既有捕获又有冒泡?那么事件不会发生两次吗?
Zakas 的《Professional Javascript》一书说
1) IE 使用事件冒泡
2) Netscape 使用事件捕获
3) DOM 事件流是先捕获然后冒泡
那么,事件处理程序不会被调用两次吗?这是什么 DOM 事件流,是 DOM 2 级事件处理吗?
据我了解,以下是否属实?
a) IE 6、7、8 都使用冒泡
b) FF、Chrome、Safari、Opera 都使用捕获?
c) jQuery 通过使其“冒泡”使一切都变得相同
jquery - 在“链接”(或 div)以及父元素或祖先元素处监听事件的好例子是什么?
大多数时候,我看到代码为链接或 div 或按钮注册事件侦听器,并从那里处理所有事情。但是事件捕获和冒泡可以很好地处理后代级别的事件,然后是祖先级别的事件。但是,我们希望在 2 个不同的地方聆听的好例子是什么?
events - ZK:监听所有后代的事件
我目前正在开发一个 ZK 应用程序,但找不到一种方法来侦听SelectEvent
从一个特定以下的所有组件触发的所有 s (这是一开始就存在的唯一一个,然后在其中发生每个选择时获取后代或后代)。
此组件下方的层次结构将随每个 更改,每次SelectEvent
发生这种情况时我都需要检查条件。
我唯一能想到的是
- 定义一个函数,它执行我需要的条件检查,另外
- 添加到所有后代(没有一个)事件侦听器,它们调用此函数
- 在进行条件检查的页面上注册一个事件侦听器。比必要时更频繁地开火,但总比不开火好。
两者都感觉不对,如果存在多个根组件,后者也不安全(因为每个根组件都有自己的一组后代)
有什么我忽略的方法吗?
PS:这是这个问题的ZK版本。
一些代码。ExpressionTypeSelector
包含 a以Listbox
选择 a ExpressionModel
。在选择时,模型的小部件会替换 的ExpressionTypeSelector
小部件。
主要的:
TermModel
(一个例子ExpressionModel
)
你看:用户可以创建一个TermModel
s 的树。在每次选择发生后,它应该检查这是否是最后可能的选择。
apache-flex - 内置事件和自定义事件的 Flex 事件流
我有一个自定义组件,它包含一个子图标。如果我向组件(click-listener1)和图标(click-listener2)添加鼠标单击事件侦听器,则事件调度顺序是 click-listener2,然后是 click-listener1。我能理解。但是,如果我向组件 (listener1) 添加自定义事件,并将鼠标单击事件添加到 icon(listener2),当单击 icon 时,组件将调度自定义事件。在我的测试中,事件调度顺序是 listener1,然后是 listener2。它与事件气泡规则不匹配。
在我看来,自定义事件是在 listener2 中调度的,这会触发 listener1。为什么事件流顺序不是listener2,listener1?
在组件中。
在应用程序中,其中包含组件
objective-c - UIControl 子类 - 如何停止触摸事件流?
我正在写一个棋盘游戏应用程序(如国际象棋)。主视图可识别在其全屏视图中的任何位置启动的滑动手势 (UISwipeGestureRecognizer),这会使板旋转。
现在我在板上添加了一个方形透明子视图。这是一个检测触摸的 UIControl 子类 - 作为棋子在棋盘上的移动:
我预计滑动手势将在 UIControl 子类覆盖的屏幕区域被阻止。他们不是。因此,当我在方形 boardControl 上快速触摸并拖动(滑动)时,它首先被检测为棋子移动,然后再次被检测为旋转板的滑动。
如何使我的 UIControl 子类阻止在其框架中启动的触摸事件流到其父视图?
我可以通过在超级视图级别过滤触摸来阻止我的应用程序对滑动手势做出反应,方法是:
或通过:
但我想更早地解决这个问题:我希望 boardControl 在其框架触摸事件中不传递任何开始,在视图层次结构中更高。
UIControl 子类可以“覆盖”它的父视图,并“吃掉”它获得的所有触摸,因此父视图不需要访问它的框架来猜测是否必须过滤掉这样的触摸?
azure-service-fabric - 服务结构。应用洞察。事件流。禁用来自 TplEventSource 的日志消息
我正在从事 Service Fabric(5.5.216) 项目。请记住,我是 Azure 开发的新手,所以我可能会错过一些非常明显的东西。我正在使用 VS 2015 Update 3..Net Framework 4.6.2。我已经能够将 Application Insights(2.2.0) 日志记录添加到我的服务中。我已经使用 EventFlow(1.1.0) 和 EventFlow.ServiceFabric(1.1.1) 包来做到这一点。一切都很好,但我在 ApplicationInsights 日志中看到了许多来自 TplEventSource(可能来自任务并行库?)的消息,如下所示:
“从任务 23 开始 2 循环 123。”
“从任务 23 结束 2 循环 123。”
好吧,老实说,我认为用这些消息污染日志没有多大价值(就像根本一样)。所以问题是:
有什么方法可以通知 EventFlow 或 Service Fabric 或其他任何人(无论是谁)不要记录这些消息?
elasticsearch - EventFlow - 创建自定义过滤器以附加源服务器信息
我假设这是一个很常见的问题,我们如何轻松地将服务器信息添加到 EventFlow 事件中?
我的场景是我正在部署一个应用程序,该应用程序将具有自己的特定于环境的 EventFlowConfig.json,但场中的每个服务器都将获得相同的 json 文件。那么......我如何判断场中的哪个服务器将事件发送到 ElasticSearch?
一种选择是使用 .net 获取服务器名称并将其作为列发送,这需要我将服务器名称添加到每个事件中。这似乎有点过分,但它会做的工作。除了必须将其实际编码到事件中之外,我希望有一种更简单的方法。
谢谢你的时间,格雷格
编辑 4 - Karol 非常棒地帮助我启动并运行了这个工作示例,谢谢 KAROL !!!尝试添加创建自定义过滤器作为扩展:
- 我们需要为自定义过滤器工厂创建一个新类
- 然后我们需要创建第二个新类并让它实现 IFilter 接口。为了从工厂传递健康监视器,我们使用了构造函数。
- 使用 Evaluate 函数作为我们添加数据的区域(eventData.AddPayloadProperty)
然后参考我们的 EventFlowConfig.json 的扩展区域中的自定义过滤器。
一种。类别为 filterFactory湾。类型是您的类的名称。
C。限定的类型名称在“type-name, assembly-name”中。例如(假设您将过滤器工厂命名为“MyCustomFilterFactory”):“My.Application.Logging.MyCustomFilterFactory, My.Application.Assembly.WhereCustomFilterAndItsFactoreLive”</ p>
添加对 C# 代码所在的 Microsoft.Extensions.Configuration 的引用。
然后你可以在任何你需要的地方引用你的自定义过滤器,这里我们使用一个全局过滤器
工作示例:
然后在 EventFlow 配置中:
event-flow - 更改 EventFlow 中的跟踪级别过滤器设置而不再次调用构造函数?
有没有办法即时更换过滤器?我正在考虑将 EventFlow 与 Service Fabric 一起使用,但希望能够更改跟踪级别,而不必重新启动服务并为其提供具有不同跟踪级别设置的新 json 配置文件。这可能吗?
谢谢,汉斯
azure - 使用 EventFlow 监视来自其他 Service Fabric 进程的 ETW 事件
好奇是否有人有在进程外使用 EventFlow 的经验?文档表明它是为使用进程内(与被监视的内容相关)而构建的,但我希望在单独的进程(Service Fabric 服务)中运行它并监视来自运行在同一进程上的许多其他 Service Fabric 服务的 EventSource 输入机器。
这样做的原因之一是,我想确保捕获在服务异常且即将终止时写入的 ETW 事件。目前,在崩溃的同一进程中运行的 EventFlow 仅偶尔能够将事件写入其输出(在本例中为事件日志)也就不足为奇了。
谢谢,汉斯
.net - 使用事件源作为输入并将 ApplicationInsights 作为输出的事件流过滤器未正确过滤。有任何想法吗?
我正在使用事件流将遥测数据发送到服务结构应用程序中的应用程序洞察力。事件似乎已正确创建,但我似乎遇到了 eventFlow 过滤问题。当我尝试将我的事件过滤为异常或依赖项时,它们不会出现在 Azure 上的应用程序洞察门户中。
我的日志事件是使用 eventSource 创建的。
这是 eventFlowConfig.json 的输出部分:
以下是我正在使用的与此问题最相关的软件包版本: