我应该如何处理特定于页面的绑定事件到可重用的DOM?

时间:2012-05-11 01:34:48

标签: javascript jquery javascript-events backbone.js

我的应用程序具有可在多个页面中重复使用的代码。假设我有这个:

+ page_A.html
  - includes partial_1.html
+ page_B.html
  - includes partial_1.html

现在,partial_1.html中的DOM元素具有与之关联的JavaScript事件。这些可以分为两类:

  • 无论使用哪个页面(类型I),都必须绑定的事件
  • 必须以不同方式绑定的事件,具体取决于部分呈现的页面(类型II)

我的组织方式是:

  • partial_1.html - >用于模板
  • partial_1.css - >用于CSS
  • partial_1.js - >用于模型/控制器和类型I绑定
    • partial_1__A - >对于特定于第A页的II类绑定
    • partial_1__B - >对于特定于第B页的II型绑定
    • 依旧......

显然,如果有很多模板,这可能会很烦人。幸运的是,在这个阶段我只有两个,所以这不是什么大不了的事。 然而我想知道是否:

  1. 有更好的方法来处理这个
  2. 我可以利用一些现有的框架/库。 backbone.js 会为此提供某种机制吗?

2 个答案:

答案 0 :(得分:0)

我会使用jquery绑定事件。

我还会在不同的页面上将不同的绑定放在代码中。

答案 1 :(得分:0)

您想要使用事件冒泡。假设这些html文件是partials并在现有元素中加载,您可以使用jquery的on方法。这样,每个事件只有一个事件处理程序,并且在加载新内容时不必绑定/取消绑定事件。