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 19 Javascript
JavaScript动态创建div属性和样式示例代码
Oct 09 Javascript
js实现俄罗斯方块小游戏分享
Jan 31 Javascript
jquery实现在网页指定区域显示自定义右键菜单效果
Aug 25 Javascript
微信小程序网络请求的封装与填坑之路
Apr 01 Javascript
Vue.set() this.$set()引发的视图更新思考及注意事项
Aug 30 Javascript
react-router4按需加载(踩坑填坑)
Jan 06 Javascript
Vue实现购物车的全选、单选、显示商品价格代码实例
May 06 Javascript
微信小程序 腾讯地图SDK 获取当前地址实现解析
Aug 12 Javascript
JavaScript 空间坐标的使用
Aug 19 Javascript
Vue-router编程式导航的两种实现代码
Mar 04 Vue.js
gojs实现蚂蚁线动画效果
Feb 18 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计划任务、定时执行任务的实现代码
2011/04/23 PHP
php数组函数序列之krsort()- 对数组的元素键名进行降序排序,保持索引关系
2011/11/02 PHP
coreseek 搜索英文的问题详解
2013/06/08 PHP
提高php编程效率技巧
2015/08/13 PHP
PHP学习笔记之php文件操作
2016/06/03 PHP
php单例模式的简单实现方法
2016/06/10 PHP
PHP 扩展Memcached命令用法实例总结
2020/06/04 PHP
IE本地存储userdata的一个bug说明
2010/07/01 Javascript
js判断IE6/IE7/FF的代码[XMLHttpRequest]
2011/02/16 Javascript
ASP.NET jQuery 实例4(复制TextBox的文本到本地剪贴板上)
2012/01/13 Javascript
JS获取地址栏参数的小例子
2013/08/23 Javascript
Jquery 实现表格颜色交替变化鼠标移过颜色变化实例
2013/08/28 Javascript
JS 屏蔽键盘不可用与鼠标右键不可用的方法
2013/11/18 Javascript
Jquery获取元素的父容器对象示例代码
2014/02/10 Javascript
浅析JS中document对象的一些重要属性
2014/03/06 Javascript
Node.js 学习笔记之简介、安装及配置
2015/03/03 Javascript
详解JavaScript对Date对象的操作问题(生成一个倒数7天的数组)
2015/10/01 Javascript
基于jQuery实现的菜单切换效果
2015/10/16 Javascript
JS实现兼容性较好的随屏滚动效果
2015/11/09 Javascript
Javascript 实现匿名递归的实例代码
2017/05/25 Javascript
jQuery插件artDialog.js使用与关闭方法示例
2017/10/09 jQuery
总结javascript三元运算符知识点
2018/09/28 Javascript
微信小程序云开发之模拟后台增删改查
2019/05/16 Javascript
react结合bootstrap实现评论功能
2020/05/30 Javascript
Linux中安装Python的交互式解释器IPython的教程
2016/06/13 Python
python监控进程脚本
2018/04/12 Python
Python ini文件常用操作方法解析
2020/04/26 Python
Python分析微信好友性别比例和省份城市分布比例的方法示例【基于itchat模块】
2020/05/29 Python
解决Keras TensorFlow 混编中 trainable=False设置无效问题
2020/06/28 Python
正宗的日本零食和糖果订阅盒:Bokksu
2019/11/21 全球购物
电大毕业生自我鉴定
2013/11/10 职场文书
群众路线问题查摆对照检查材料
2014/10/04 职场文书
付款委托书范本
2014/10/05 职场文书
初任公务员培训心得体会
2016/01/08 职场文书
vue前端工程的搭建
2021/03/31 Vue.js
python绘图subplots函数使用模板的示例代码
2021/04/30 Python