【问题标题】:Event Handlers & Event Listeners Independent of one Another?事件处理程序和事件侦听器相互独立?
【发布时间】:2013-12-01 00:36:28
【问题描述】:

我有一个关于事件驱动编程方面的问题。我不确定事件处理程序和事件侦听器的代码是否应该完全相互独立。

据我了解,事件侦听器附加到某种类型的应用程序(比方说 GUI),它们的唯一职责是捕获用户输入。

然后,消息调度程序会捕获该事件,并将其发送到适当的事件处理程序。

因此,在我看来,事件侦听器代码和事件处理程序代码之间不应该存在依赖关系。我是否正确地考虑了这一点?我还没有真正找到一本好的事件驱动的书,而且我读过的大多数关于事件驱动编程的文章听起来都有些偏颇或幼稚。

我能找到的最好的文档是a bit old

【问题讨论】:

  • 嗯,两者都需要实现某种Event 接口,以便他们可以通过它交换信息(数据)
  • 好的,但是仅仅因为它们都实现相同的接口并不一定意味着两者之间的耦合,对吧?

标签: javascript events event-handling event-listener


【解决方案1】:

我认为侦听器只是一些代码,用于在事件触发时收集数据并将数据发送到逻辑代码。

逻辑代码只关心输入数据并执行任务,它与事件无关

代码是这样的:

function sayHello(name) {  // this code is independent
  console.log("hello" + name);
}

element.addEventListener("click", function () {
  var name = "gather data dependent on the event and context"; // code here is event depentdent
  sayHello(name);
}, false);

so:逻辑是独立的。如何获取数据是依赖的

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-12-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-01
    • 2023-03-12
    相关资源
    最近更新 更多