我是jQuery的初学者,我有一些基本的问题:
是否可以在可以使用jQuery替换某些内容时使用jQuery?例如,使用它而不是通过HTML将所有事件绑定到元素是否谨慎?
自己托管jQuery .js文件和所有其他相关文件(如JQuery UI)是否更好,或者使用Google链接可能是更好的选择(它们似乎也是为其他人托管)?
在页面加载完成后执行脚本时,首选哪种方式?
$(document).ready(function() {})
$(function() {})
$().ready(function() {})
他们似乎都做同样的事情,但脚本的首选方式是什么?
答案 0 :(得分:3)
是。这样你的JS就可以与你的html完全分开了。您可以查看文件,一目了然,看看它对HTML的影响。如果它嵌入在HTML中,你将不得不寻找onClick,onLoad等,对于大型应用程序来说它会变得非常混乱。
客户端浏览器会缓存文件,因此如果您使用谷歌版本的JQuery,则无需将其从服务器上下载。节省带宽。
$(document).ready(function() {})
是首选。 $(function() {})
只需定义执行块,它只会在页面准备就绪后执行,如果它是页面上要执行的最后一件事。
答案 1 :(得分:2)
1。)是和否。无论是否使用jQuery,最佳做法是绑定事件unobtrusive
(这意味着,严格区分javascript
,html
和任何其他语言)。由于jQuery允许轻松绑定事件,因此它是使用内联处理程序的更好方法。
2。)你应该使用CDN(比如谷歌)提供静态文件,比如jQuery用于缓存目的+他们有一个庞大的服务器网络,甚至可能比你自己的主机更快。
3。)我会坚持前两个电话。无论如何,基本上他们都会这样做,但最好的可读性可能有$(document).ready(function() {});
答案 2 :(得分:2)
1)在脚本中保留所有事件绑定。这使得以后更容易更改。您还希望有一个地方可以查找所有与事件相关的逻辑。
2)这是answered very well already。
3)我更喜欢#2简洁,但真正理想的做法是like this:
jQuery(function($) {
// Your code using failsafe $ alias here...
});
如果您正在使用定义$。的其他框架,那么可以避免冲突。
答案 3 :(得分:1)
1:这完全取决于你。通常jQuery会导致性能损失,因为它是一个额外的抽象层。只有使用它,如果你觉得它可以帮助你更轻松地完成工作。但是,除非您真正需要优化性能,否则使用它的好处将远远超过成本。 jQuery为您提供久经考验的crossbrowser兼容性,如果您希望能够满足所有不同的浏览器需求,那么实现自己可能是一件昂贵的事情。
2:使用谷歌版:这样您的用户就有可能已将其缓存,无需再次从您的网站加载。
3:第二个选项,快捷方式被广泛使用,即使第一个选项很好而且具体,我会说它更喜欢。我永远不会使用第三个选项
答案 4 :(得分:1)
对于3d点,没有一个。出于性能原因,通常建议将脚本放在结束</body>
标记之前。因此,您无需等待ready
事件:在此阶段,页面已加载。
检查Jquery Cookbox (O'Reilly),第1.2章:执行jQuery / JavaScript编码的Ater DOM已加载但在完成页面加载之前(该书必须全部阅读)
要快速了解这项技术,请查看Move jQuery to the end of body tag?(关于此主题还有很多其他帖子)
答案 5 :(得分:0)