我倾向于采用一种相当“模块化”的方法来构建应用程序,最近我开始使用jquery。我正在开发的应用程序将相当大,所以我试图在可能的情况下将各个部分分解为单独的文件/模块。其中一个例子是“用户设置”对话框。
这个对话框有一个表单、几个选项卡和相当多的输入字段,因此我希望在一个单独的html文件中开发它(实际上是php,但在本例中可以将其视为html)。它本身就是一个完整的页面,包含了您所期望的所有标记,例如:
<html><head></head><body></body></html>
所以我现在可以开发,我想要的,独立于基础应用程序的对话框。这个对话框的头部也有自己的javascript(实际上有很多javascript),jquery$(document.ready(){}捕获等等。所有的工作都是完美的隔离。但是,当我试图加载带有页面的jquery模式对话框(在主应用程序页面内)时,正如人们所料,问题随之而来。
下面是一个简单明了的例子:
editUserDialog.load ("editUser.php", {id : $('#userList').val(), popup : "true"}, function () {
editUserDialog.dialog ("option", "title" , "Edit User");
editUserDialog.dialog ('open');
});
(我将向页面传递一个“popup”标志,以便页面可以确定其上下文——即作为页面或在jquery对话框中)。
问题1
:当我将代码从“head”移到“body”(在edituser.php页面中)时,它实际上在大部分情况下都有效。jquery似乎是在加载文件的主体而不是头部的上下文中调用$(document).ready()函数。这是个坏主意吗?
问题2
:我构建这个应用程序的过程一开始就完全有缺陷吗?
我搜索了整个网络,试图找到一个“最佳实践”类的文档来使用jquery/php构建相当大的应用程序,但没有取得很大的成功,所以也许有其他人意识到我错过了一些东西。
谢谢你在我试图描述我遇到的问题时对我的态度,我希望我已经准确地描述了这个问题。