我正在更多地使用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亚历克斯