js模仿jquery的写法示例代码


Posted in Javascript onJune 16, 2013

测试代码:

(function(){ 
var p=new PEvent(document); 
p.click(function() { 
//alert("单击"); 
//alert(p.style); 
var html=""; 
for ( var item in document) { 
html+=item+':'+document[item]+"\r\n"; 
} 
//alert(html); 
}); 
p.dblclick(function() { 
alert("双击"); 
}); 
p.contextmenu(function(event) { 
try{ 
var x=event.clientX; 
var y=event.clientY; 
var menu=g("menu"); //判断坐标 
var width=document.body.clientWidth; 
var height=document.body.clientHeight; 
x=(x+menu.clientWidth)>=width?width-menu.clientWidth:x; 
y=(y+menu.clientHeight)>=height?height-menu.clientHeight:y; 
//alert("可视高度:"+height+",鼠标高度:"+y); 
menu.style.top=y+"px"; 
menu.style.left=x+"px"; 
menu.style.display="block"; 
}catch(e){ 
alert(e); 
} 
return false; 
}); 
function PEvent(dom){ 
this.x=function() { 
this.style.css=dom.style; 
} 
this.click=function(fn){ 
dom.onclick=fn; 
this.x(); 
} 
this.dblclick=function(fn){ 
dom.ondblclick=fn; 
} 
this.contextmenu=function(fn){ 
dom.oncontextmenu=fn; 
} 
this.style=new Po(); 
}; 
function Po() { 
this.name=new Object(); 
this.id=new Object(); 
this.css=new Object(); 
} 
})(); 
function g(id){ 
return document.getElementById(id); 
}

在jquery中,处理事件的时候,都可以匿名方法来写,例如:
obj.click(function(){ 
alert("hello"); 
});

上诉这种形式。
在方法传递参数的时候,可以传递fun 方法。
调用呢,就可以这样调用:
this.dblclick=function(fn){ 
dom.ondblclick=fn; 
}
Javascript 相关文章推荐
jquery nth-child()选择器的简单应用
Jul 10 Javascript
javascript动态加载二
Aug 22 Javascript
Jquery动态添加输入框的方法
May 29 Javascript
常用DOM整理
Jun 16 Javascript
JS实现动态修改table及合并单元格的方法示例
Feb 20 Javascript
bootstrap table使用入门基本用法
May 24 Javascript
浅谈webpack编译vue项目生成的代码探索
Dec 11 Javascript
JS+canvas画一个圆锥实例代码
Dec 13 Javascript
解决vue移动端适配问题
Dec 12 Javascript
深入浅析Vue中mixin和extend的区别和使用场景
Aug 01 Javascript
vue项目中定义全局变量、函数的几种方法
Nov 08 Javascript
vue实现图片按比例缩放问题操作
Aug 11 Javascript
$.getJSON在IE下失效的原因分析及解决方法
Jun 16 #Javascript
jsp js鼠标移动到指定区域显示选项卡离开时隐藏示例
Jun 14 #Javascript
JS保存、读取、换行、转Json报错处理方法
Jun 14 #Javascript
用js实现控件的隐藏及style.visibility的使用
Jun 14 #Javascript
JavaScript实现表格排序方法
Jun 14 #Javascript
json数据处理技巧(字段带空格、增加字段、排序等等)
Jun 14 #Javascript
用js实现输入提示(自动完成)的实例代码
Jun 14 #Javascript
You might like
PHP 上传文件的方法(类)
2009/07/30 PHP
php类中的$this,static,final,const,self这几个关键字使用方法
2015/12/14 PHP
PHP生成静态HTML文档实现代码
2016/06/23 PHP
关于viewport,Ext.panel和Ext.form.panel的关系
2009/05/07 Javascript
JQuery的一些小应用收集
2010/03/27 Javascript
在子窗口中关闭父窗口的一句代码
2013/10/21 Javascript
jQuery使用getJSON方法获取json数据完整示例
2016/09/13 Javascript
KnockoutJS 3.X API 第四章之数据控制流component绑定
2016/10/10 Javascript
JavaScript 字符串常用操作小结(非常实用)
2016/11/30 Javascript
jQuery实现导航栏头部菜单项点击后变换颜色的方法
2017/07/19 jQuery
javascript帧动画(实例讲解)
2017/09/02 Javascript
微信JS-SDK updateAppMessageShareData安卓不能自定义分享详解
2019/03/29 Javascript
原生JS与JQ获取元素的区别详解
2020/02/13 Javascript
12 种使用Vue 的最佳做法
2020/03/30 Javascript
python使用百度翻译进行中翻英示例
2014/04/14 Python
Python字符串拼接、截取及替换方法总结分析
2016/04/13 Python
Python部署web开发程序的几种方法
2017/05/05 Python
python实现稀疏矩阵示例代码
2017/06/09 Python
python实现维吉尼亚加密法
2019/03/20 Python
python导包的几种方法(自定义包的生成以及导入详解)
2019/07/15 Python
Python学习笔记之错误和异常及访问错误消息详解
2019/08/08 Python
Python Pandas 对列/行进行选择,增加,删除操作
2020/05/17 Python
keras 多任务多loss实例
2020/06/22 Python
python与pycharm有何区别
2020/07/01 Python
电影T恤、80年代T恤和80年代服装:TV Store Online
2020/01/05 全球购物
员工自我鉴定范文
2013/10/06 职场文书
优秀导游先进事迹材料
2014/01/25 职场文书
大学新生军训感言
2014/02/25 职场文书
中学生自我评价范文
2015/03/03 职场文书
2015小学五年级班主任工作总结
2015/05/21 职场文书
院系推荐意见
2015/06/05 职场文书
单位工资证明范本
2015/06/12 职场文书
七年级作文之雪景
2019/11/18 职场文书
PHP 技巧 * SVG 保存为图片(分享图生成)
2021/04/02 PHP
恶魔之树最顶端的三颗果实 震震果实上榜,第一可以制造岩浆
2022/03/18 日漫
Win10 Anaconda安装python-pcl
2022/04/29 Servers