您个人更喜欢将html标记处理程序与JQuery驱动的Html页面放在一起,以及为什么:html标记元素或document.ready函数?
<a onclick="javascript:foo()" />
...
function foo() {
...
}
或
<a id="mytag" />
...
$(document).ready(function() {
$("#mytag").click(function() { ... });
})
提前谢谢!
答案 0 :(得分:1)
第二个,因为它将内容和逻辑分开。你永远不应该混合内容(这就是HTML的用途),表示(这就是CSS的用途)和逻辑(这就是JavaScript的用途)。
答案 1 :(得分:1)
绝对是第二个,当你将这两个部分分开时,维护代码要容易得多。此外,它看起来很难看;)
答案 2 :(得分:1)
为了最佳实践,在.js包含函数的外部文件
function handleClick()
{
$(element).click(function(e){});
}
// then call them on DOM ready with $(function(){}), this is an alternative provided by jquery equivalent to $(document).ready()
$(function(){ handleClick(); });
我这样做有一个很容易管理的有序的功能列表。一个文件,每个文件都有一些处理事件的函数。
那么为什么不内联?与压缩的外部JS文件相比,更难以管理,阻碍和更容易入侵(通过更容易入侵,我的意思是没有太多麻烦或不便于黑客攻击,因为我可以使用Firebug轻松修改DOM)。
答案 3 :(得分:1)
$(document).ready
内部处理程序的版本更好。 1)代码使用本地而非全局功能。它很快就可以访问在$(document).ready
函数内声明的局部变量2)你确定在用户能够点击它之前加载了onclick
函数的代码。 3)从设计的角度来看更好。