封装自己的yQuery
function myAddEvent(obj, sEv, fn) {
if (obj.attachEvent) {
obj.attachEvent('on' + sEv, fn)
} else {
obj.addEventListener(sEv, fn, false);
}
}
function getByClass(oParent, sClass) {
var aEle = oParent.getElementByTagName('*');
var aResult = [];
var i = ;
for (var i = ; i <aResult.length; i++) {
aResult.push(aEle[i]);
}
return aResult;
}
function VQuery(vArg) {
//用来保存选中的元素
this.elements = [];
switch (typeof vArg) {
case 'function':
//window.onload = vArg;
myAddEvent(window, 'load', vArg);
break;
case 'string':
switch (vArg.charAt()) {
case '#': //ID
var obj = document.getElementById(vArg.substring());
this.elements.push(obj);
break;
case '.': //class
getByClass(document, vArg.substring());
break;
default: //tagName
this.elements = document.getElementsByTagName(vArg);
}
break;
case 'object':
this.elements.push(vArg);
break;
}
}
VQuery.prototype.click = function (fn) {
var i = ;
for (var i = ; i < this.elements.length; i++) {
myAddEvent(this.elements[i], 'click', fn);
}
}
function $(vArg) {
return new VQuery(vArg);
}
封装自己的yQuery的更多相关文章
- [C#] 简单的 Helper 封装 -- RegularExpressionHelper
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...
- iOS开发之App间账号共享与SDK封装
上篇博客<iOS逆向工程之KeyChain与Snoop-it>中已经提到了,App间的数据共享可以使用KeyChian来实现.本篇博客就实战一下呢.开门见山,本篇博客会封装一个登录用的SD ...
- Ajax实现原理,代码封装
都知道实现页面的异步操作需要使用Ajax,那么Ajax到是怎么实现异步操作的呢? 首先需要认识一个对象 --> XMLHttpRequest 对象 --> Ajax的核心.它有许多的属性和 ...
- 用C语言封装OC对象(耐心阅读,非常重要)
用C语言封装OC对象(耐心阅读,非常重要) 本文的主要内容来自这里 前言 做iOS开发的朋友,对OC肯定非常了解,那么大家有没有想过OC中NSInteger,NSObject,NSString这些对象 ...
- 【知识必备】RxJava+Retrofit二次封装最佳结合体验,打造懒人封装框架~
一.写在前面 相信各位看官对retrofit和rxjava已经耳熟能详了,最近一直在学习retrofit+rxjava的各种封装姿势,也结合自己的理解,一步一步的做起来. 骚年,如果你还没有掌握ret ...
- 对百度WebUploader开源上传控件的二次封装,精简前端代码(两句代码搞定上传)
前言 首先声明一下,我这个是对WebUploader开源上传控件的二次封装,底层还是WebUploader实现的,只是为了更简洁的使用他而已. 下面先介绍一下WebUploader 简介: WebUp ...
- 封装集合(Encapsulate Collection)
封装就是将相关的方法或者属性抽象成为一个对象. 封装的意义: 对外隐藏内部实现,接口不变,内部实现自由修改. 只返回需要的数据和方法. 提供一种方式防止数据被修改. 更好的代码复用. 当一个类的属性类 ...
- CSharpGL(29)初步封装Texture和Framebuffer
+BIT祝威+悄悄在此留下版了个权的信息说: CSharpGL(29)初步封装Texture和Framebuffer +BIT祝威+悄悄在此留下版了个权的信息说: Texture和Framebuffe ...
- CSharpGL(7)对VAO和VBO的封装
CSharpGL(7)对VAO和VBO的封装 2016-08-13 由于CSharpGL一直在更新,现在这个教程已经不适用最新的代码了.CSharpGL源码中包含10多个独立的Demo,更适合入门参考 ...
随机推荐
- java使用ssh访问Linux的项目jscraft
一.gradle地址 // https://mvnrepository.com/artifact/com.jcraft/jsch compile group: 'com.jcraft', name: ...
- RUBY Error: Please update your PATH to include build tools or download the DevKit
出错的原因是安装XXXXX的时候,需要build tools,但系统中没有.出错信息中同时也给出了解决的法案: 1. 到 http://rubyinstaller.org/downloads/ 去下载 ...
- TRIZ系列-创新原理-9~11-预先反作用原理、预处理原理、预先防范原理
一.预先反作用原理表述例如以下: 1)预先给物体施加反作用,以补偿过量的或者不想要的压力. 假设知道系统在执行过程中,会有不利的或者有害的作用(负面作用)产生,则能够预先採取一定的措施来抵消.控制这样 ...
- 关于DDR3非常棒的文章
xilinx平台DDR3设计教程之仿真篇 http://wenku.baidu.com/view/c452d9a5524de518964b7dca.html?pn=50
- intercepting IO request
Introduction to File System Filters https://msdn.microsoft.com/en-us/library/windows/hardware/dn6416 ...
- 【DSP】CCS中.dat文件的格式
转自“http://e2e.ti.com/support/development_tools/code_composer_studio/f/81/t/168292” Here is the infor ...
- Chrome浏览器缓存查看工具-ChromeCacheView
最近想听一下最新的流行热歌,按着某网站的新歌排行榜逐首在巨鲸音乐网搜索下载,但相当一部分的歌曲还是没能下载到,逼不得已只能到百度MP3下载,在搜索结果中已经挑体积比较大的文件来下载了,但下载到的MP3 ...
- 每日英语:Stressed at Work? Reflect on the Positive
Feeling the pinch of work stress in the evening? Before heading home for the night, take a moment to ...
- Solr 数字字符不能搜索的一个问题
问题一: 测试人员告诉我数字不能被搜索.于是开始找原因: <fields> ***<field name="productName" type="tex ...
- NAND FLASH驱动程序
NAND FLASH是一个存储芯片那么: 这样的操作很合理"读地址A的数据,把数据B写到地址A" 问1. 原理图上NAND FLASH和S3C2440之间只有数据线, 怎么 ...