Category Archives: JavaScript

jQuery 1.3 正式版发布公告

http://docs.jquery.com/Release:jQuery_1.3 jQuery 1.3终于发布了。 min版(gzip后18kb) 源码(114kb) 另外可以用google的代码托管: http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js 下面这个是我自己用Packer压缩的pack版 http://shawphy.com/down/jquery-1.3.pack.js(37kb) 简要来说: 更新了Sizzle选择器引擎,这个之前也提到过。可以查看他的性能: 此外据声称,把代码给了dojo基金会。这回Sizzle的野心在于能够让其他各种JS库都能用,包括Prototype, Dojo, Yahoo UI, MochiKit, 和 TinyMCE等等其他库。 live 事件 这也是jQuery 1.3这次更新的第二个重大更新。 可以看下面iframe中的效果以及源码 性能比较: 这样,我以前写的关于重复绑定的文章就差不多可以抛弃了 Event 对象 新增了一个jQuery.Event对象,他根据w3c文档,做了一个完整的,兼容所有浏览器的一个对象。具体还得看文档。 append, prepend, before, 和 after 方法重写 据声称,这些方法的效率提升了6倍 重写了offset方法 这回更快了 取消了浏览器侦测,全面改用jQuery.support 具体还得看文档了。 变化: … Continue reading

Posted in CSS, JavaScript, jQuery | Tagged | 16 Comments

FireUnit:基于Firebug的JavaScript单元测试扩展

John Resig最近在他的博客中发表文章John Resig – FireUnit: JavaScript Unit Testing Extension.发布了他与Jan Odvarko合作开发的一款基于Firebug的扩展FireUnit。(Firebug真是越来越强大了……) 简单说来,FireUnit给Firebug增加了一个标签面板,并提供了一些简单的JavaScript API来记录和查看测试。 举例来说: // Simple true-like/false-like testing fireunit.ok( true, "I’m going to pass!" ); fireunit.ok( false, "I’m going to fail!" );   // Compare two strings – shows a diff of the … Continue reading

Posted in JavaScript | Tagged , , | 6 Comments

页面加载完成后新建的元素事件绑定问题(下)

页面加载完成后新建的元素事件绑定问题(上) ============================= 2号解决方案——事件冒泡法 利用事件冒泡的原理,我们给这个按钮的祖先元素绑定事件处理函数。 然后通过event.target这个对象来判断,这个事件是不是我们要找的对象触发的。 通常可以利用一些DOM属性,比如event.target.className、event.target.tagName等之类的来判断。 <td><button class="del">删除</button></td> jQuery(function($) {     //第四个表格的删除按钮事件绑定     $("#table4").click(function(e) {         if (e.target.className=="del") {             $(e.target).parents("tr").remove();         };     });     //第四个表格的添加按钮事件绑定 … Continue reading

Posted in JavaScript, jQuery | 7 Comments

页面加载完成后新建的元素事件绑定问题(上)

本文demo:http://shawphy.com/demo/event/event.html 很多人会像我一样遇到这样一个问题: 在页面加载完成后给元素绑定了事件,但又新增加的元素上却没有绑定任何事件。 js的事件监听跟css不一样,css只要设定好了样式,不论是原来就有的还是新添加的,都有一样的表现。而事件监听不是,你必须给每一个元素单独绑定事件。 常见的例子是处理表格的时候。每行行末有个删除按钮,点了这个能够删除这一行。 <table>    <tbody>        <tr>            <td>这行原来就有</td>            <td><button class="del">删除</button></td>        </tr>        <tr>            <td>这行原来就有</td>            <td><button class="del">删除</button></td>       … Continue reading

Posted in JavaScript, jQuery | 5 Comments

JavaScript switch case 语句设置范围

不知是否出于什么缘故,我google搜索 javascript switch case 范围 这几个关键字,出来的前几条都是csdn上关于无解的表示。 可能是其他编译型语言中,case后便必须是常量的缘故吧。 后来在一个边角的地方看到某人发帖是VB还是不知道哪个语言中的中实现了switch case语句的范围选择,大家看了下面代码就明白了。 var x=1 switch(true){     case x>0&&x<10:         alert(1);break;     case x>=10&&x<20:         alert(2);break; } 看明白啦?就是利用传递给switch的参数设为true,把原来的变量变成常量,常量变变量,逆向思维。巧妙吧? 本来我想出来的办法是这样的,没有上面的好,没有跳出思维定势,也贴出来给大家看看,权当娱乐娱乐了 var x=1 switch(x){     case (x>0&&x<10)*x:       … Continue reading

Posted in JavaScript | Tagged , , | 3 Comments

找出页面内重复的Id

今天群里提起这事, 判断页面内是否有重复的id 一种是已知id,看是否有重复。基本上Ctrl+F就能搞定~ 但是Robin给出了方法: function chkid(idname){     s=0;     divs = document.getElementsByTagName("*");     for (i=0; i<divs.length; i++){         if(divs[i].getAttribute("id")==idname)             s++;     }     alert(s); } 而后我又在其基础上修改了能够找出页面内所有重复的Id function … Continue reading

Posted in JavaScript | Tagged | Leave a comment