JQuery:放置html标记处理程序的最佳位置
您个人喜欢在JQuery支持的html页面中将html标记处理程序放在哪里?为什么:html标记元素或document.ready函数JQuery:放置html标记处理程序的最佳位置,jquery,html,javascript-events,Jquery,Html,Javascript Events,您个人喜欢在JQuery支持的html页面中将html标记处理程序放在哪里?为什么:html标记元素或document.ready函数 <a onclick="javascript:foo()" /> ... function foo() { ... } ... 函数foo(){ ... } 或 ... $(文档).ready(函数(){ $(“#mytag”)。单击(函数(){…}); }) 提前谢谢你 第二个,因为它将内容和逻辑分开。永远不要将内容(HTML就是这
<a onclick="javascript:foo()" />
...
function foo() {
...
}
...
函数foo(){
...
}
或
...
$(文档).ready(函数(){
$(“#mytag”)。单击(函数(){…});
})
提前谢谢你 第二个,因为它将内容和逻辑分开。永远不要将内容(HTML就是这样)、表示(CSS就是这样)和逻辑(JavaScript就是这样)混为一谈。第二个,因为它将内容和逻辑分开。千万不要将内容(HTML就是这样)、表示(CSS就是这样)和逻辑(JavaScript就是这样)混为一谈。当然是第二个,如果将这两个部分分开,维护代码就容易多了。而且,它看起来很丑;) 当然是第二个,当这两个部分分开时,维护代码要容易得多。而且,它看起来很丑;) 为了最佳实践,在包含函数的.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)。为了最佳实践,在包含函数的.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)。带有
$(文档)内部处理程序的版本。ready
更好。1) 代码使用本地和非全局函数。它速度很快,您可以访问$(文档)中声明的局部变量。就绪
函数2)您可以确保在用户能够单击onclick
函数之前加载了该函数的代码。3) 从设计的角度来看更好。在$(文档)中包含处理程序的版本。ready
更好。1) 代码使用本地和非全局函数。它速度很快,您可以访问$(文档)中声明的局部变量。就绪
函数2)您可以确保在用户能够单击onclick
函数之前加载了该函数的代码。3) 从设计的角度来看,它更好