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.ui.progressbar 中文文档
Nov 26 Javascript
JS+CSS实现的拖动分页效果实例
May 11 Javascript
javascript中错误使用var造成undefined
Mar 31 Javascript
JS实现数字格式千分位相互转换方法
Aug 01 Javascript
jquery实现input框获取焦点的简单实例
Jan 26 Javascript
微信小程序 新建登录页并实现tabBar隐藏
Jun 13 Javascript
vue基于mint-ui实现城市选择三级联动
Jun 30 Javascript
vue.js内置组件之keep-alive组件使用
Jul 10 Javascript
vue中使用gojs/jointjs的示例代码
Aug 24 Javascript
Vue列表循环从指定下标开始的多种解决方案
Apr 08 Javascript
Node登录权限验证token验证实现的方法示例
May 25 Javascript
Vue绑定用户接口实现代码示例
Nov 04 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 8小时时间差的解决方法小结
2009/12/22 PHP
微信公众平台天气预报功能开发
2014/07/06 PHP
php中Ctype函数用法详解
2014/12/09 PHP
Laravel中使用FormRequest进行表单验证方法及问题汇总
2016/06/19 PHP
PHP实现双链表删除与插入节点的方法示例
2017/11/11 PHP
漂亮的仿flash菜单,来自蓝色经典
2006/06/26 Javascript
JavaScript this调用规则说明
2010/03/08 Javascript
javascript 获取所有id中包含某关键字的控件的实现代码
2010/11/25 Javascript
2010年最佳jQuery插件整理
2010/12/06 Javascript
字符串的replace方法应用浅析
2011/12/06 Javascript
js之onload事件的一点使用心得
2013/08/14 Javascript
angular中使用路由和$location切换视图
2015/01/23 Javascript
JavaScript中toString()方法的使用详解
2015/06/05 Javascript
jquery easyui dataGrid动态改变排序字段名的方法
2017/03/02 Javascript
jquery-file-upload 文件上传带进度条效果
2017/11/21 jQuery
Vue管理系统前端之组件拆分封装详解
2020/08/23 Javascript
vue element el-transfer增加拖拽功能
2021/01/15 Vue.js
在Python中操作日期和时间之gmtime()方法的使用
2015/05/22 Python
详解python 字符串和日期之间转换 StringAndDate
2017/05/04 Python
Python对文件和目录进行操作的方法(file对象/os/os.path/shutil 模块)
2017/05/08 Python
Python实现的密码强度检测器示例
2017/08/23 Python
Python多进程与服务器并发原理及用法实例分析
2018/08/21 Python
python对于requests的封装方法详解
2019/01/03 Python
Python从函数参数类型引出元组实例分析
2019/05/28 Python
Django xadmin开启搜索功能的实现
2019/11/15 Python
详解HTML5 录音的踩坑之旅
2017/12/26 HTML / CSS
寻找完美的房车租赁:RVShare
2019/02/23 全球购物
中软国际Java程序员机试题
2012/08/19 面试题
策划创业计划书
2014/02/06 职场文书
平安工地汇报材料
2014/08/19 职场文书
12.4法制宣传日活动总结
2014/08/26 职场文书
房产公证委托书范本
2014/09/20 职场文书
2014年音乐教师工作总结
2014/12/03 职场文书
欠条样本
2015/07/03 职场文书
SQL注入的实现以及防范示例详解
2021/06/02 MySQL
opencv检测动态物体的实现
2021/07/21 Python