事件处理程序&事件听众彼此独立?

时间:2013-12-01 00:36:29

标签: javascript events event-handling event-listener

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

根据我的理解,事件监听器附加到某种类型的应用程序(比如GUI),它们唯一的责任是捕获用户输入。

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

因此,在我看来,事件监听器代码和事件处理程序代码之间不应存在依赖关系。我是否正确地想到了这一点?我还没有真正找到一本好的事件驱动的书,我读到的关于事件驱动编程的大部分文章听起来有点偏颇或天真。

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

1 个答案:

答案 0 :(得分:0)

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

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

代码是这样的:

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);

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