如何安全地,有保护地扩展事件处理?

时间:2011-05-29 04:33:33

标签: javascript event-handling

我正在编写一个小型JavaScript库,在其中,我有一些组件需要在某些页面事件发生时接收“消息”,并允许用户提供响应函数。基本上,我需要访问一般事件,例如onkeydown,用户可以提供组件如何处理它。

设置这样的回调很容易。我面临的问题是,当我考虑其他库和用户代码同时工作的可能性时。我不仅要保留他们现有的处理方式,还要保持其后的灵活性,因为有人可能会覆盖我已经完成的工作。

这里是否有任何可以使用的模式或建议,以便所有代码都能在联合中工作?我希望我对这个有意义。如果需要,我可以提供更多细节。

1 个答案:

答案 0 :(得分:3)

使用addEventListener(或在9之前的IE中attachEvent)。它更灵活,根本不会干扰on*属性。