这个是上次在博客园看到的一篇文章,经测试,确实比jquery的$(document).ready(function(){….})更快,并且在ie和火狐等主流浏览器上都没问题,

  Regular Expression Tool

  Regular Expression
Tool(正则表达式工具)是一款在线工具,用来测试您的正则表达式代码是否正确。当您想快速测试各种文本例子的正则表达式时非常得心应手。

 

var jb51 =new function() {
dom = [];
dom.isReady = false;
dom.isFunction = function(obj) {
return Object.prototype.toString.call(obj) === “[object Function]”;
}
dom.Ready = function(fn) {
dom.initReady();
//如果没有建成DOM树,则走第二步,存储起来一起杀
if (dom.isFunction(fn)) {
if (dom.isReady) {
澳门微尼斯人手机版,fn();
//如果已经建成DOM,则来一个杀一个
} else {
dom.push(fn);
//存储加载事件
}
}
}
dom.fireReady = function() {
if (dom.isReady) return;
dom.isReady = true;
for (var i = 0, n = dom.length; i < n; i++) {
var fn = dom[i];
fn();
}
dom.length = 0;
//清空事件
}
dom.initReady = function() {
if (document.addEventListener) {
document.addEventListener(“DOMContentLoaded”,
function() {
document.removeEventListener(“DOMContentLoaded”, arguments.callee,
false);
//清除加载函数
dom.fireReady();
},
false);
} else {
if (document.getElementById) {
document.write(“<script id=\”ie-domReady\”
defer=’defer’src=\”//:\”><\/script>”);
document.getElementById(“ie-domReady”).onreadystatechange = function()
{
if (this.readyState === “complete”) {
dom.fireReady();
this.onreadystatechange = null;
this.parentNode.removeChild(this)
}
};
}
}
}
}

  JsUnit

  JsUnit是一款在客户端(在浏览时)的单元测试JavaScript框架。对JavaScript而言,JUnit就像是它的一个端口。当然它也可以在多个浏览器、多个机器的不同操作系统中自动运行。它的发展始于2001年1月。

上面是jQuery官方文档中提供的event对象的属性.
在”jQuery实战”一书中还提供了下面的多浏览器支持的属性,
时间关系我没有尝试每一个属性, 大家可以帮忙验证是否在所有浏览器下可用:

忘了原创是谁了,如果主人看到可以联系我,
我会立刻加上原文出处的,敬请见谅。

  JSLint

  JSLint是基于Web的验证JavaScript错误代码的工具。它拥有的功能及特定的设置来使用您的需求,自定义你的验证算法。

下面是jQuery事件对象可以在扩浏览器支持的属性:

复制代码 代码如下:

  J3Unit

  J3Unit是一个面向对象的JavaScript单元测试框架。J3Unit在网页浏览器中直接运行JavaScript的测试,也可以自动运行JUnit

Jetty。J3Unit是建立在JUint和Script.aculo.us的基础之上来更好地实现自动运行JavaScript单元测试。面向对象的JavaScript单元测试是由Script.aculo.us的Test.Unit.Runner对象编写的,基于prototype
JavaScript库。

属性名称 描述
altKey Alt键是否被按下. 按下返回true
ctrlKey ctrl键是否被按下, 按下返回true
metaKey Meta键是否被按下, 按下返回true.
meta键就是PC机器的Ctrl键,或者Mac机器上面的Command键
shiftKey Shift键是否被按下, 按下返回true
keyCode 对于keyup和keydown事件返回被按下的键. 不区分大小写, a和A都返回65.对于keypress事件请使用which属性, 因为which属性跨浏览时依然可靠.
which 对于键盘事件, 返回触发事件的键的数字编码. 对于鼠标事件, 返回鼠标按键号(1左,2中,3右).
screenX/Y 对于鼠标事件, 获取事件相对于屏幕原点的水平/垂直坐标

尽管JavaScript的语法非常简单,但对于写程序而言仍然是困难重重,就是因为它的运行环境:基于Web浏览器。

jQuery事件对象将不同浏览器的差异进行了合并, 比如可以在所有浏览器中通过
event.target 属性来获取事件的触发者(在IE中使用原生的事件对象,
需要访问event.srcElement).

发表评论

电子邮件地址不会被公开。 必填项已用*标注