- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
你知道.on('eventName', function(){...});
jQuery、socket.io、peerjs 和其他一些用于事件处理的库/框架中存在的模式,它叫什么?
我想更好地了解幕后的结构、它能做什么、到底发生了什么等,但无法从 Google 搜索中找到太多信息,该模式有名称吗?有具体的人想出了这个模式吗?
据我目前所知,它似乎类似于 addEventListener
,有什么具体的区别吗?
编辑:只是为了澄清一点,我希望在我的一个 Node JS 应用程序中实现某种类型的事件处理,并且理想情况下希望能够触发将像下面这样捕获的事件,并且正在寻找用于研究最佳实践 - 只是无法找出好的搜索词等。
var myNewObject = new MyLibrary();
myNewObject.on('event_1', function(param1, param2){
...
});
谢谢!
最佳答案
如果您自己推出,这是一种方法:
notJQuery = function() {
if (typeof(notJQuery.eventList) === 'undefined') {
notJQuery.eventList = {};
}
this.on = function(events, callback) {
events = events.split(' ');
for (i in events) {
eventName = events[i];
notJQuery.eventList[eventName][] = callback;
}
};
return this;
};
您需要一个事件列表来保存所有 eventName => 回调
关联。
每次您想要触发“人工”事件(您设计的事件)时,您都会查找事件列表并找到该事件的所有回调。
每次更新真实事件(不是由您设计)的事件处理程序时,您都会查找事件列表并将该事件的这些回调附加到系统提供的事件处理程序/监听器。
关于javascript - ('eventName' , function(){...}); 上的这个模式 : . 的名称是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22781441/
基本上,我有在创建时触发事件的组件和一个专门的“计数器”组件,用于对创建的组件进行计数,第二个组件与第一个组件并行存在。但是,当我尝试运行该应用程序时,计数器组件仅对自身进行计数,它似乎只检测在那里触
const myEmitter = new MyEmitter(); myEmitter.on('event', (a) => { console.log('an event occurred!
配置健康监控时 eventName 属性的有效值是什么? ... 我的 Google-fu(和 MSDN)让我失望了,我找不到您可以订阅的所有
我有一个带有足够简单的事件对象的 View (在 CoffeeScript 中,因为它很甜) APP.bb.Recipe_Index = Backbone.View.extend templa
关闭。这个问题需要多问focused 。目前不接受答案。 想要改进此问题吗?更新问题,使其仅关注一个问题 editing this post . 已关闭 9 年前。 Improve this ques
这个问题已经有答案了: Event binding on dynamically created elements? (23 个回答) 已关闭 6 年前。 我有一个点击功能,当我在页面加载时隐藏这些元
我想知道是否可以从子组件发出事件并在父组件中监听,而不使用方便的 @event{eventMame} 语法。我正在使用一个引入此问题的插件。 我正在使用 vuetable2 组件并将操作附加到行,我必
我总是这样调用事件 void onSomeEvent(string someArg) { var h = this.EventName; if (h != null) {
举个例子,假设我有一个类只发出三种可能的事件——'pending' 或 'success' 或 'failure'。此外,eventHandler 中接收到的参数类型取决于发出的事件 – 如果 'pe
我有以下代码中标题所述的错误(guzzle http lib)请告诉我如何手动修复它。老实说,我不知道 function() 使用 () 构造,所以不知道如何解决它。 public function
将 docker 支持添加到我现有的 Asp.Net Core Web API 项目时,我收到错误消息,因为“事件名称应至少由斜杠分隔 3 个部分。参数名称 eventName”。 有没有人遇到过这个
我可以在socket.io“socket.on”中使用返回 promise 吗?就像下面的代码一样。 socket.on('news', function (data) { ret
我是一名优秀的程序员,十分优秀!