事件初理解2-不兼容

事件里的不兼容:

1:同一个事件上同一个方法被重复绑定的问题:是可以被重复绑定的,但是,如果绑定方法小于9个,则按后绑定先执行,大于9个方法则无序

2:被绑定的方法得this不是当前元素是window.event,火狐是虚参数,谷歌是两种标准都采用(解决this关键字,首先想到call和apply)

3:事件源:ie6/7/8是event.srcElement,其他的是e.target

4:阻止事件传播:ie中是event.cancelBubblue=true冒泡,标准浏览器是:e.stopPropagation()(是一个方法,可以传3个参数)

5:事件传播本身:ie只有冒泡没有捕获

6:阻止事件的默认行为:ie是:event.returnValue=false;标准浏览器:event.preventDefault(是一个方法,可以传3个参数)

7:ie不支持e.pageX和e.pageY鼠标相对于浏览器的绝对坐标,clientY,clientX是相对于浏览器左上角的位置,没有加上滚动条的位置

标准浏览器里阻止事件传播:e.stopPropagation。stopPropagation是事件对象的属性和方法,所以是e点,不是html的属性和方法

ie的阻止冒泡:e.cancelBubble=ture。cancelBubble是事件对象的属性和方法,所以是e点,不是html的属性和方法

时间: 2024-10-20 23:13:39

事件初理解2-不兼容的相关文章

谈谈对事件的理解(持续更新中)

谈谈对事件的理解: 从前有一家人,我们称为window家.window他其中有一个儿子叫事件. --------------------------------------------------------------------事件------------------------------------------------------------------------------ 事件他有很多好基友,每次发生什么事情都会找到事件,叫他帮忙查看一下那些细节出现了问题.可是事件这个小子有时

通俗粗暴的事件委托理解

简单粗暴的事件委托理解代码 1 using System; 2 using System.Collections.Generic; 3 4 public class MyClass 5 { 6 public static void RunSnippet() 7 { 8 Header head=new Header(); 9 XiaShuA xiashuaA=new XiaShuA(head); 10 XiaShuB xiashuaB=new XiaShuB(head); 11 head.Rais

C#事件的理解以及自定义事件的方法

事件的理解: 在skyline项目的开发中,遇到了一个新的知识:事件. 在程序中,我希望实现一个功能,当视点坐标移动的时候可以实时的得到视点的坐标.这里就需要使用事件这个概念:当坐标发生移动,则触发了一个特定的事件,他可以发出一个信号,而用户可以自定义一个函数(参数必须与事件委托的参数相同,这个后面解释),当他发出一个信号,我就可以执行这个函数. 比方说:甲和乙是朋友,上午见面了,乙和甲说,今天中午吃完饭叫我一声,我带你去网吧玩. 在这个情景中,甲吃饭这件事情是乙没有办法控制的.他只可以等甲吃完

委托事件的理解

委托是一种带有签名的类,需要用复合这个签名的静态函数或者非静态函数来初始化,就像楚怀王说:"先入秦关者望之".此时还不知道谁会先入秦观,可能是刘邦,可能是项羽.等到时间发展到一定时机,结论出来了,这个事委托给刘邦了.前提是刘邦复合这个签名,先入秦关了. 事件和委托类似,只不过事件源于委托,声明的时候需要先定义一个委托类型.也就是委托和类同级,事件和类里的属性方法同一个级别.事件只能在定义该事件的类里被初始化和使用,除了+=和-=.而委托无此限制.事件更形象化,就像,反秦起义这个事件爆发

关于C#事件的理解

一.一个不错的例子 class FileFFF { public delegate void FileWatchEventHandler(object sender,EventArgs args);//当然事件必须有委托支撑,建立一个委托是必须的 public event FileWatchEventHandler FileWatchEven;//这就是要声明的事件,其实就是委托类型的变量,前面加了一个event关键字 public void OnFileWatchEven(EventArgs

EventBus初理解

缘由: 平时工作,因为懒于动笔的原因,也没注重技术和经验的积累,导致之前曾经研究过的问题现在又忘记了,所以要慢慢注重积累,那么就从写作开始,谈谈对工作中碰到的问题进行整理和归纳. 我们都知道,在Android中,想处理事件传递,可以用Handler+MessageQueue+Message+Looper循环,固然是有解决方法,但是这个使用起来不方便,代码写起来也不简洁,同时还必须要理解好Handler+MessageQueue+Message+Looper之间的关系,比如这样的图: 是不是看到觉

input事件在ie9以下不兼容问题完美解决

上周四好不容易加了几天班把刚接手的一个pc页面做完,周五同事说要兼容ie7~ie9,结果在上面一跑,输入都没法输入. 我的需求是用6个span作为虚拟的密码输入框,实际上是用一个藏在页面里的input来实现输入的.如下图 上面是我要实现的页面,和页面结构dom,就是点击span的的父节点div的时候,要让input获取焦点.左边是input,为了给大家展示就先不藏起来了,对了,千万别用display:none来隐藏input,否则无法获取焦点. 先来给大家复习一下input标签的所有事件: 1.

c#委托事件 自己理解

都说C#的委托与事件,对初学者来说很难,但是一跃过去就很简单了 单是我这个一跃不知道还要多久,为什么对有些人来说简单的事,我却那么难,好吧,这个是必须掌握的 需求:发卡器,我要去程序中调用发卡器的方法,得到卡的卡号信息 常人理解:很简单,卡一方,点下读取的事件就可以了 我:想把它做成公用的DLL,使用事件注册来实现读取卡号 1.新建类库 ReaderTest-->类Reader public Reader(){}-->构造函数(里面又写了连接发卡器的方法) 2.定义委托 public dele

对jQuery中on方法委托事件的理解

关于on方法中的委托事件,官方JQ API如下: http://api.jquery.com/on/#on-events-selector-data-handler 参考大牛阮一峰的博文: http://www.ruanyifeng.com/blog/2011/08/jquery_best_practices.html 什么时候使用委托事件: 1.对未被创建的元素添加事件监听 2.避免频繁添加或删除event handler,委托父元素来进行事件处理 使用委托事件的优点: 1.大量减少监听元素的