两个比较有用的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 相关文章推荐
asp 的 分词实现代码
May 24 Javascript
jquery.simple.tree插件 更简单,兼容性更好的无限树插件
Sep 03 Javascript
网页右键ie不支持event.preventDefault和event.returnValue (需要加window)
Feb 22 Javascript
扩展JS Date对象时间格式化功能的小例子
Dec 02 Javascript
jQuery如何获取同一个类标签的所有值(默认无法获取)
Sep 25 Javascript
浅析javascript异步执行函数导致的变量变化问题解决思路
May 13 Javascript
JS闭包可被利用的常见场景小结
Apr 09 Javascript
jQuery阻止事件冒泡实例分析
Jul 03 jQuery
JavaScript读写二进制数据的方法详解
Sep 09 Javascript
使用rollup打包JS的方法步骤
Dec 05 Javascript
Vue的路由及路由钩子函数的实现
Jul 02 Javascript
Vue 实现分页与输入框关键字筛选功能
Jan 02 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
简单介绍下 PHP5 中引入的 MYSQLI的用途
2007/03/19 PHP
PHP 上传文件大小限制
2009/07/05 PHP
逆序二维数组插入一元素的php代码
2012/06/08 PHP
PHP的5个安全措施小结
2012/07/17 PHP
PHP读取文件内容后清空文件示例代码
2014/03/18 PHP
基于jquery的滚动新闻列表
2010/06/19 Javascript
javascript克隆对象深度介绍
2012/11/20 Javascript
jQuery(非HTML5)可编辑表格实现代码
2012/12/11 Javascript
基于jquery实现点击左右按钮图片横向滚动
2013/04/11 Javascript
Javascript获取统一管理的提示语(message)
2016/02/03 Javascript
第一次接触JS require.js模块化工具
2016/04/17 Javascript
layui实现数据表格自定义数据项
2019/10/26 Javascript
微信小程序实现滑动翻页效果(完整代码)
2019/12/06 Javascript
Vue路由守卫及页面登录权限控制的设置方法(两种)
2020/03/31 Javascript
详解Vue 数据更新了但页面没有更新的 7 种情况汇总及延伸总结
2020/05/28 Javascript
[47:18]完美世界DOTA2联赛循环赛 IO vs FTD BO2第一场 11.05
2020/11/06 DOTA
在arcgis使用python脚本进行字段计算时是如何解决中文问题的
2015/10/18 Python
用python结合jieba和wordcloud实现词云效果
2017/09/05 Python
对Python3中bytes和HexStr之间的转换详解
2018/12/04 Python
Python之虚拟环境virtualenv,pipreqs生成项目依赖第三方包的方法
2019/07/23 Python
Windows系统Python直接调用C++ DLL的方法
2019/08/01 Python
python如何实现不可变字典inmutabledict
2020/01/08 Python
python 元组的使用方法
2020/06/09 Python
Python使用itcaht库实现微信自动收发消息功能
2020/07/13 Python
Python实现LR1文法的完整实例代码
2020/10/25 Python
使用CSS3来实现滚动视差效果的教程
2015/08/24 HTML / CSS
Kidsroom台湾:来自德国的婴儿用品
2017/12/11 全球购物
印度首选时尚目的地:Reliance Trends
2018/01/17 全球购物
荷兰牛仔裤网上商店:Jeans Centre
2018/04/03 全球购物
FC-Moto丹麦:欧洲最大的摩托车服装和头盔商店之一
2019/08/20 全球购物
同学聚会老师邀请函
2014/01/28 职场文书
小学语文教学反思
2014/02/10 职场文书
2014教师党员个人自我评议
2014/09/20 职场文书
大学生自我评价范文
2015/03/03 职场文书
公司员工辞职信范文
2015/05/12 职场文书
java解析XML详解
2021/07/09 Java/Android