javascript - 如何在一个 javascript 文件中拥有多个 document.observe(dom :loaded . ..) 函数? (原型(prototype))

标签 javascript dom prototype

基本上我所追求的是,​​将所有 JavaScript 压缩到一个文件(或几个文件)中后,如何为正确的文件进行 document.observe(dom:loaded({...})) 函数调用页面?

假设我的网站有 5 个页面,每个页面都有一个单独的 JS 文件。每个文件内部都有一系列与页面相关的函数,以及一个在 DOM 加载时设置事件处理程序等的特殊函数。显然,如果所有 5 个页面都包含自己的 JS 文件,那就没问题了。但出于版本控制和效率原因,我想将所有 JS 压缩到一个页面中。

因此,在这样做时,我最终会得到 5 个“dom:loaded”函数等待设置。这是行不通的,因为这些函数中的内容是特定于页面的。所以,我的问题是如何在不导致一大堆 DOM 错误和错误的事件处理程序设置请求的情况下做我想做的事情?

我考虑过命名空间和类似的东西,但对它/它们一无所知。

顺便说一句,我正在使用原型(prototype)库。哦,我的网站比 5 页大得多! :)

谢谢, 李

最佳答案

一些想法: 检查 dom 来识别页面。例如,将属性附加到 body 元素。 在设置变量的页面中放置一个脚本标记。 检查网址。

当加载事件触发时,事件处理程序会识别页面并将控制权交给正确的代码。

关于javascript - 如何在一个 javascript 文件中拥有多个 document.observe(dom :loaded . ..) 函数? (原型(prototype)),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2293746/

相关文章:

javascript - Firefox 上未定义的函数

javascript - stopImmediatePropagation 在 "document"和 "p"元素中具有不同的结果

dom - 用户界面5 : Check if a control is currently rendered and visible

javascript - 原型(prototype)。 Ajax 请求参数作为嵌套的 json

javascript - 在函数之后运行原型(prototype)函数

javascript - 为什么方法括号内的函数声明会产生 method.variableName()?

javascript - 模态框关闭后,如何在屏幕上显示两个图像?

javascript - 首次单击某个按钮时到处都是 Div

javascript - 如何在 Puppeteer 的 `await page.evaluate(indexTotal => {` 中使用我现有的函数 global.parseData(id, name, url)?

javascript - jQuery 单选按钮表单默认