两个比较有用的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 相关文章推荐
JS/jQuery实现默认显示部分文字点击按钮显示全部内容
May 13 Javascript
jquery实现兼容浏览器的图片上传本地预览功能
Oct 14 Javascript
onkeyup,onkeydown和onkeypress的区别介绍
Oct 21 Javascript
js toFixed()方法的重写实现精度的统一
Mar 06 Javascript
JS实现淘宝支付宝网站的控制台菜单效果
Sep 28 Javascript
一个超简单的jQuery回调函数例子(分享)
Aug 08 Javascript
浅谈javascript:两种注释,声明变量,定义函数
Oct 05 Javascript
浅谈jquery上下滑动的注意事项
Oct 13 Javascript
怎样判断jQuery当前元素是隐藏还是显示
Nov 23 Javascript
javascript数组去重方法分析
Dec 15 Javascript
Webpack打包慢问题的完美解决方法
Mar 16 Javascript
Vue 实现CLI 3.0 + momentjs + lodash打包时优化
Nov 13 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设计模式之命令模式的应用详解
2013/05/21 PHP
php set_time_limit()函数的使用详解
2013/06/05 PHP
PHP hebrev()函数用法讲解
2019/02/21 PHP
用函数式编程技术编写优美的 JavaScript_ibm
2008/05/16 Javascript
使用JS实现jQuery的addClass, removeClass, hasClass函数功能
2014/10/31 Javascript
javascript实现状态栏文字首尾相接循环滚动的方法
2015/07/22 Javascript
BootStrap使用popover插件实现鼠标经过显示并保持显示框
2016/06/23 Javascript
JS中对Cookie的操作详解
2016/08/05 Javascript
Vue.js之slot深度复制详解
2017/03/10 Javascript
整理关于Bootstrap导航的慕课笔记
2017/03/29 Javascript
详解nodejs通过代理(proxy)发送http请求(request)
2017/09/22 NodeJs
Angular5.1新功能分享
2017/12/21 Javascript
jQuery实现鼠标响应式淘宝动画效果示例
2018/02/13 jQuery
JavaScript this绑定过程深入详解
2018/12/07 Javascript
JS实现滚动条触底加载更多
2019/09/19 Javascript
python 中的列表解析和生成表达式
2011/03/10 Python
浅谈Python程序与C++程序的联合使用
2015/04/07 Python
深入剖析Python的爬虫框架Scrapy的结构与运作流程
2016/01/20 Python
Python计算开方、立方、圆周率,精确到小数点后任意位的方法
2018/07/17 Python
Python中应该使用%还是format来格式化字符串
2018/09/25 Python
Python微医挂号网医生数据抓取
2019/01/24 Python
python聚类算法解决方案(rest接口/mpp数据库/json数据/下载图片及数据)
2019/08/28 Python
python 基于dlib库的人脸检测的实现
2019/11/08 Python
使用python绘制cdf的多种实现方法
2020/02/25 Python
Python+PyQt5实现灭霸响指功能
2020/05/25 Python
python中 _、__、__xx__()区别及使用场景
2020/06/30 Python
浅谈Python里面None True False之间的区别
2020/07/09 Python
英国著名的茶叶品牌:Whittard of Chelsea
2016/09/22 全球购物
加拿大女装网上购物:Reitmans
2016/10/20 全球购物
英国户外服装品牌:Craghoppers
2019/04/25 全球购物
团队经理竞聘书
2014/03/31 职场文书
《北大荒的秋天》教学反思
2014/04/14 职场文书
标准大学生职业生涯规划书写作指南
2014/09/18 职场文书
Apache POI的基本使用详解
2021/11/07 Servers
Django+Nginx+uWSGI 定时任务的实现方法
2022/01/22 Python
2021年国产动漫公司排行前十名,玄机科技上榜,第二推出过铠甲勇士
2022/03/18 杂记