两个比较有用的Javascript工具函数代码
更新时间:2010年02月17日 16:22:44 作者:
下面我的base.js中的extend函数可以允许用json格式赋值属性甚至是函数句柄
1.大家在实际工作中,会写各式各样的赋值语句。
比如最常用的obj.style.display = "none";
如果这样的赋值语句一多,obj.style一排下来都要看晕了
下面我的base.js中的extend函数可以允许用json格式赋值属性甚至是函数句柄
/**
* 扩展函数
* @param target 需要扩展的对象
* @param params 要往target里放的属性和方法
*/
function extend(target, params) {
if (!target) {
target = {};
}
for (var prop in params) {
target[prop] = params[prop];
}
return target;
}
2. 由于ie不完全遵守w3c标准,他的事件模型和别的浏览器不一样。调用的方法也不一样。
如果遇到要为控件动态增加事件。用onclick = function() {}一类的在dom动态创建的时候不一定有效,而且无法绑定多个句柄。下面介绍一个通用的支持全浏览器的绑定事件函数。
在大部分情况下,useCapture用的是false,所以这里干脆写死。
/**
* 动态创建事件句柄
* @param control 需要扩展的对象
* @param eventName 事件名
* @param fn 函数句柄
*/
function addEventListener(control, eventName, fn) {
if (window.attachEvent) {
control.attachEvent('on' + eventName, fn);
} else {
control.addEventListener(eventName, fn, false);
}
}
以上两个函数的使用Sample可以参照我写的其他的文章中的代码
比如最常用的obj.style.display = "none";
如果这样的赋值语句一多,obj.style一排下来都要看晕了
下面我的base.js中的extend函数可以允许用json格式赋值属性甚至是函数句柄
复制代码 代码如下:
/**
* 扩展函数
* @param target 需要扩展的对象
* @param params 要往target里放的属性和方法
*/
function extend(target, params) {
if (!target) {
target = {};
}
for (var prop in params) {
target[prop] = params[prop];
}
return target;
}
2. 由于ie不完全遵守w3c标准,他的事件模型和别的浏览器不一样。调用的方法也不一样。
如果遇到要为控件动态增加事件。用onclick = function() {}一类的在dom动态创建的时候不一定有效,而且无法绑定多个句柄。下面介绍一个通用的支持全浏览器的绑定事件函数。
在大部分情况下,useCapture用的是false,所以这里干脆写死。
复制代码 代码如下:
/**
* 动态创建事件句柄
* @param control 需要扩展的对象
* @param eventName 事件名
* @param fn 函数句柄
*/
function addEventListener(control, eventName, fn) {
if (window.attachEvent) {
control.attachEvent('on' + eventName, fn);
} else {
control.addEventListener(eventName, fn, false);
}
}
以上两个函数的使用Sample可以参照我写的其他的文章中的代码
相关文章
js实现的真正的iframe高度自适应(兼容IE,FF,Opera)
由于项目上的需要,要用一个iframe高度自适应的功能,在google上搜了很久,找了一些修改了下。大家可以测试下。2010-03-03谈谈我对JavaScript中typeof和instanceof的深入理解
这次主要说说javascript的类型判断函数typeof和判断构造函数原型instanceof的用法和注意的地方,对本文感兴趣的朋友一起看看吧2015-12-12
最新评论