两个比较有用的Javascript工具函数代码


Posted in Javascript onFebruary 17, 2010

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可以参照我写的其他的文章中的代码
Javascript 相关文章推荐
JAVASCRIPT 对象的创建与使用
Mar 09 Javascript
在网页里看flash的trace数据的js类
Jan 10 Javascript
jQuery的实现原理的模拟代码 -2 数据部分
Aug 01 Javascript
javascript针对DOM的应用分析(四)
Apr 15 Javascript
JavaScript动态创建div属性和样式示例代码
Oct 09 Javascript
ExtJS如何设置与获取radio控件的选取状态
Jan 22 Javascript
字太多用...代替的方法(两种)
Mar 15 Javascript
Node.js和Express简单入门介绍
Mar 24 Javascript
JS原生轮播图的简单实现(推荐)
Jul 22 Javascript
JavaScript基于对象方法实现数组去重及排序操作示例
Jul 10 Javascript
vue + element-ui的分页问题实现
Dec 17 Javascript
使用axios请求时,发送formData请求的示例
Oct 29 Javascript
类似GMAIL的Ajax信息反馈显示
Feb 16 #Javascript
JavaScript 10件让人费解的事情
Feb 15 #Javascript
JQuery 动画卷页 返回顶部 动画特效(兼容Chrome)
Feb 15 #Javascript
jQuery 处理表单元素的代码
Feb 15 #Javascript
jQuery 树形结构的选择器
Feb 15 #Javascript
jQuery 处理网页内容的实现代码
Feb 15 #Javascript
JS getMonth()日期函数的值域是0-11
Feb 15 #Javascript
You might like
使用PHP制作新闻系统的思路
2006/10/09 PHP
一个改进的UBB类
2006/10/09 PHP
curl不使用文件存取cookie php使用curl获取cookie示例
2014/01/26 PHP
ThinkPHP之A方法实例讲解
2014/06/20 PHP
php使用Header函数,PHP_AUTH_PW和PHP_AUTH_USER做用户验证
2016/05/04 PHP
PHP基于接口技术实现简单的多态应用完整实例
2017/04/26 PHP
thinkphp5 migrate数据库迁移工具
2018/02/20 PHP
php实现微信和支付宝支付的示例代码
2020/08/11 PHP
javascript 面向对象全新理练之原型继承
2009/12/03 Javascript
showModalDialog在谷歌浏览器下会返回Null的解决方法
2013/11/27 Javascript
基于jQuery的checkbox全选问题分析
2016/11/18 Javascript
Vue写一个简单的倒计时按钮功能
2018/04/20 Javascript
vue地区选择组件教程详解
2018/05/04 Javascript
vue动态绑定class选中当前列表变色的方法示例
2018/12/19 Javascript
webpack 处理CSS资源的实现
2019/09/27 Javascript
[18:32]DOTA2 HEROS教学视频教你分分钟做大人-谜团
2014/06/12 DOTA
[04:03]2014DOTA2西雅图国际邀请赛 LGD战队巡礼
2014/07/07 DOTA
Python转码问题的解决方法
2008/10/07 Python
python素数筛选法浅析
2018/03/19 Python
Django中数据库的数据关系:一对一,一对多,多对多
2018/10/21 Python
windows 10 设定计划任务自动执行 python 脚本的方法
2019/09/11 Python
pygame实现俄罗斯方块游戏(基础篇1)
2019/10/29 Python
Python利用for循环打印星号三角形的案例
2020/04/12 Python
SpringBoot首页设置解析(推荐)
2021/02/11 Python
CSS中几个与换行有关的属性简明总结
2014/04/15 HTML / CSS
SISLEY希思黎官方旗舰店:享誉全球的奢华植物美容品牌
2018/04/25 全球购物
中国京东和泰国中央集团合资的网站:JD CENTRAL
2020/08/22 全球购物
"引用"与指针的区别是什么
2016/09/07 面试题
同步和异步有何异同,在什么情况下分别使用他们?
2012/12/28 面试题
在职研究生自我鉴定
2013/10/16 职场文书
蔬菜基地的创业计划书
2014/01/06 职场文书
党员民主生活会材料
2014/12/15 职场文书
考研英语复习计划
2015/01/19 职场文书
学生会生活部工作总结2015
2015/03/31 职场文书
工作后的感想
2015/08/07 职场文书
【HBU】数据库第四周 单表查询
2021/04/05 SQL Server