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实现单击按钮遮罩弹出对话框(仿天猫的删除对话框)
Apr 10 Javascript
基于JavaScript的操作系统你听说过吗?
Jan 28 Javascript
jquery的ajax提交form表单的两种方法小结(推荐)
May 25 Javascript
使用vue.js制作分页组件
Jun 27 Javascript
js鼠标跟随运动效果
Mar 11 Javascript
AngularJs用户登录问题处理(交互及验证、阻止FQ处理)
Oct 26 Javascript
微信小程序实现下载进度条的方法
Dec 08 Javascript
vue2.0 使用element-ui里的upload组件实现图片预览效果方法
Sep 04 Javascript
深入浅析js原型链和vue构造函数
Oct 25 Javascript
require.js 加载过程与使用方法介绍
Oct 30 Javascript
解决layui checkbox 提交多个值的问题
Sep 02 Javascript
基于Vue 撸一个指令实现拖拽功能
Oct 09 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
手把手教你使用DedeCms的采集的图文教程
2007/03/11 PHP
UTF8编码内的繁简转换的PHP类
2009/07/09 PHP
PHP中浮点数计算比较及取整不准确的解决方法
2015/01/09 PHP
微信支付开发交易通知实例
2016/07/12 PHP
PHP中$GLOBALS['HTTP_RAW_POST_DATA']和$_POST的区别分析
2017/07/03 PHP
php和C#的yield迭代器实现方法对比分析
2019/07/17 PHP
常见的5个PHP编码小陋习以及优化实例讲解
2021/02/27 PHP
在b/s开发中经常用到的javaScript技术
2006/08/23 Javascript
jquery调用wcf并展示出数据的方法
2011/07/07 Javascript
Array.prototype.concat不是通用方法反驳[译]
2012/09/20 Javascript
JavaScript运行时库属性一览表
2014/03/14 Javascript
javascript关于继承的用法汇总
2014/12/20 Javascript
JQuery中attr方法和removeAttr方法用法实例
2015/05/18 Javascript
JS获取鼠标坐标位置实例分析
2016/01/20 Javascript
Summernote实现图片上传功能的简单方法
2016/07/11 Javascript
超实用的javascript时间处理总结
2016/08/16 Javascript
原生js实现网页顶部自动下拉/收缩广告效果
2017/01/20 Javascript
Vue 2.0 服务端渲染入门介绍
2017/03/29 Javascript
vue实现自定义日期组件功能的实例代码
2018/11/06 Javascript
详解react native页面间传递数据的几种方式
2018/11/07 Javascript
layui table设置某一行的字体颜色方法
2019/09/05 Javascript
vue设置一开始进入的页面教程
2019/10/28 Javascript
使用python装饰器验证配置文件示例
2014/02/24 Python
Python减少循环层次和缩进的技巧分析
2016/03/15 Python
Java编程迭代地删除文件夹及其下的所有文件实例
2018/02/10 Python
python多线程+代理池爬取天天基金网、股票数据过程解析
2019/08/13 Python
Python使用百度api做人脸对比的方法
2019/08/28 Python
解决django的template中如果无法引用MEDIA_URL问题
2020/04/07 Python
jupyter notebook 参数传递给shell命令行实例
2020/04/10 Python
快速实现一个简单的canvas迷宫游戏的示例
2018/07/04 HTML / CSS
全球立体声:World Wide Stereo
2018/09/29 全球购物
美国在线面料商店:Fashion Fabrics Club
2020/01/31 全球购物
中式餐厅创业计划书范文
2014/01/23 职场文书
网上蛋糕店创业计划书
2014/01/24 职场文书
党员个人年度总结
2015/02/14 职场文书
捐款仪式主持词
2015/07/04 职场文书