我正在编写一个应用程序,我一直将 jQuery 代码放在需要它的页面中。我只想了解它的工作原理。现在基本已经有了,我想重写所有的 javascript。将代码从单个页面传输到外部文件。
知道大部分 jQuery 代码都以如下内容开头:
$(function () {
});
我需要在模板中添加这样的内容还是什么?我试图把它放在外部文件中,但它似乎不起作用。
任何想法?
我正在编写一个应用程序,我一直将 jQuery 代码放在需要它的页面中。我只想了解它的工作原理。现在基本已经有了,我想重写所有的 javascript。将代码从单个页面传输到外部文件。
知道大部分 jQuery 代码都以如下内容开头:
$(function () {
});
我需要在模板中添加这样的内容还是什么?我试图把它放在外部文件中,但它似乎不起作用。
任何想法?
当您处理 jQuery 时,您需要告诉它在页面准备就绪时加载,因此我们使用以下语法来帮助我们开始:
$(document).ready(function() {
// jQuery code goes within here...
});
这当然是放在外部文件中的。现在,要在 HTML 页面中加载外部 jQuery 文件,只需包含以下行:
<script src="js/filename.js"></script>
我喜欢把它放在标签的最底部,<body>
因为它会最后加载。如果加载大型 JavaScript 文件,因为首先加载所有 HTML,这一点尤其重要。
此外,您可能已经这样做了,但是在处理 jQuery 时,您需要确保您的页面中也包含所需的 jQuery 库文件。这应该在任何其他 jQuery 脚本之前加载。使用 CDN 是执行此操作的常用方法,如下例所示:
<head>
<script src="//ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script>
</head>
希望这可以帮助。
没什么大不了的
在我看来,使用 jQuery 启动 javascript 文件的最佳方式是这样的
(function($){
$(document).ready(function(){
// All code here
});
}(jQuery));
现在这段代码可以防止与 jQuery/Javascript 发生冲突,它只会在文档准备好使用时触发。这里的所有都是它的。只需确保您已加载 jQuery,并且您的自定义 javascript 文件在 jQuery 之后加载,您应该可以开始使用了。需要更多信息。只是评论。
$(function() {
// ...
});
是相同的
$(document).ready(function() {
// ...
});
我总是使用“Unobtrusive Comprehensive DOM-ready Execution”
MAIN.util = (function($) {
return {
init: function () {
var body = document.body,
controller = body.getAttribute("data-controller"),
action = body.getAttribute("data-action");
MAIN.util.exec("common");
MAIN.util.exec(controller);
if(action && action.length) {
MAIN.util.exec(controller, action);
}
try { MAIN.util.nav.init();
} catch(e) { }
},
exec: function (controller, action) {
var ns = MAIN,
action = (!action) ? "init" : action;
if(controller !== "" && ns[controller] && typeof(ns[controller][action]) === "function") {
ns[controller][action]();
}
},
};
}(jQuery));
是一个关于如何保持代码干净和组织的好方法......
希望这可以帮助 :/
确保在您自己的代码之前包含您的 jQuery,如下所示:
<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
<script src="YOUR_PATH/custom.js"></script>
在您的代码中:
(function () {
})();
这将在 js 在浏览器中准备好后立即执行。这不是必须的,它只取决于您是否需要立即执行代码。它还将使您的代码保持封装,这意味着在其中声明的变量不太可能与其他代码冲突。但是,如果您的 javascript 仅处理事件,则没有必要。
例如
$('#YOUR_ELEMENT').on('click', function(){
alert('It executed when you clicked me!');
});