我正在更多地使用jQuery,因此设置了一个
HTML /
Javascript / CSS基站,我用于所有测试.
由于这些测试最终将变成PHP和ASP.NET MVC网站,我想利用这个机会在现有浏览器和Web标准之前再次获得基础知识,然后再在其上构建脚本语言.
我选择使用:
> XHTML 1.0严格
> UTF-8编码
>尽可能少的CSS引用(将所有内容放入1个CSS文件中以加载速度)
>尽可能少的Javascript引用(1个javascript文件加上jquery代码库引用 – 我假设使用Google jQuery代码库是速度的最佳实践)
>我使用http://validator.w3.org构建它时检查我的代码
还有什么我需要考虑的吗?
以下是我的一个测试网站的示例:
index.htm的:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <Meta http-equiv="content-type" content="text/html;charset=utf-8"/> <title>Text XHTML Page</title> <link href="css/main.css" rel="stylesheet" type="text/css" media="all"/> <script type="text/javascript" src="http://www.google.com/jsapi"></script> <script type="text/javascript" src="javascript/main.js"></script> </head> <body> <h1 class="highlightTitle">Text</h1> <p class="main">First</p> <p>Second</p> <p id="selected" class="regular">Third</p> <p>Fourth</p> <form action=""> <div> <input type="button" value="highlight it" onclick="highlightIt();countThem()" /> <input type="button" value="highlight title" onclick="highlightTitle()" /> <p>here is another paragraph</p> </div> </form> </body> </html>
main.cs:
p.highlighted { background-color:orange; } h1.highlightTitle { background-color:yellow; } h1.deselected { background-color:#eee; } p.regular { font-weight: bold; }
main.js:
google.load("jquery","1.3.2"); function highlightIt() { $('#selected') .toggleClass('highlighted'); } function countThem() { alert("there are " + $("p.main").size() + " paragraphs"); } function highlightTitle() { $("h1").toggleClass("deselected"); }
解决方法
我个人会通过jQuery绑定到click事件,以确保良好的分离,如下所示:
$("#yourId").bind("click",highlightIt);
这样您就可以绑定到多个事件处理程序.如果你只是使用onclick AFAIK,你只能使用一个处理程序.
顺便说一下,您还可以使用自定义事件和事件命名空间:
$("#yourId").bind("beforeHighlighting",doSomething);
被触发
$("#yourId").trigger("beforeHighlighting");
和
$(".hasAHelptext").bind("helptext.click",showHelptextFct); $(".hasAHelptext").bind("click",otherFct); // will only remove the showHelptextFct event handler $(".hasAHelptext").unbind("helptext.click");
HTH亚历克斯