博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
练习笔记-EVENT
阅读量:6412 次
发布时间:2019-06-23

本文共 2239 字,大约阅读时间需要 7 分钟。

貌似有很多都不能捕获。需要再加强。

(function(window,$,undefined){
var event = {
cache:{}, timeMark: function( dom, name ){
if(name){
var timeMark = name+$.date(); dom.setAttribute('alfred',timeMark); return timeMark; } else{
return dom.getAttribute('alfred'); } }, add: function( dom, evt, data, fn, handle ){
var timeMark = this.timeMark(dom) || this.timeMark(dom,'event'), callback = function(e){
var e = e ||window.event; if(e.originalTarget ==dom|| e.srcElement==dom){
fn.call(dom); } }; this.cache[timeMark] = this.cache[timeMark] ||{}; this.cache[timeMark][evt] = {
target: dom, event: evt, data: data, callback: callback, fns:fn, handle: handle } if(dom.attachEvent) {
dom.attachEvent("on"+evt,callback); } if(dom.addEventListener) {
dom.addEventListener(evt,callback,handle); } return dom; }, fire: function(dom,evt,data){
var timeMark = this.timeMark(dom); if( this.cache[timeMark] && this.cache[timeMark][evt] ){
this.cache[timeMark][evt].fns.call(dom,data); } return dom; }, remove: function(dom,evt){
var timeMark = this.timeMark(dom), events = this.cache[timeMark][evt]; if(dom.detachEvent) {
dom.detachEvent( "on"+evt ,events.callback ); } if(dom.removeEventListener) {
dom.removeEventListener( evt, events.callback, events.handle ); } delete this.cache[timeMark][evt]; return dom; }, eventAble: function(it){
if(!it || $.isString(it)) {
return false; } it.add = function(evt,data,fn){
this[evt] = []; if($.isFunction(data)) {
fn = data; data = null; } this[evt].data = data; this[evt].push(fn); return this; }; it.fire = function(evt,data) {
var fns = this[evt], i = 0; if( fns && fns.length ) {
for( ;i

可以对DOM,FN,OBJECT,ARRAY 也就是非字符数字的都应该可以做事件,还不完善。再找思路优化。。。

转载于:https://www.cnblogs.com/AlfredLee/archive/2012/03/05/event_test.html

你可能感兴趣的文章
git使用笔记
查看>>
无锁数据结构
查看>>
RabbitMQ消息队列:任务分发机制
查看>>
substr和substring的区别
查看>>
String.Format用法
查看>>
【转】java NiO 学习笔记
查看>>
MySQL的变量查看和设置
查看>>
Android NDK配、编译、调试
查看>>
长平狐 memcached源代码阅读笔记(二):网络处理部分
查看>>
android onNewIntent
查看>>
实战利用腾讯企业邮箱zabbix3.x邮件(微信/QQ/短信)告警详细配置
查看>>
干掉运营商:神奇盒子让你自建GSM 网络
查看>>
配置企业级wlan
查看>>
XML特殊符号
查看>>
kaptcha可配置项
查看>>
JavaMail邮箱验证用户注册
查看>>
系统时间——ntpd
查看>>
反射实现AOP动态代理模式(Spring AOP实现原理)
查看>>
Spring MVC 4.x + fastjson 1.2.7,封装的List<?>参数
查看>>
js选中问题
查看>>