首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

浅谈JavaScript的事件(事件对象)

在触发DOM上的某个事件时,会产生一个事件对象event,这个对象中包含这所有与事件有关的信息。包括导致事件的元素、事件的类型和事件的相关信息。例如鼠标操作的事件中,会包含鼠标的位置信息。...而键盘触发的事件会包含与按下的键有关信息。所有浏览器都支持event对象,但支持方式不同。 DOM中的事件对象   兼容dom的浏览会将一个event对象传递到事件处理程序中。...document.body.onclick发生在事件的冒泡阶段。 IE中的事件对象   在IE中方式event对象可以通过多种方式,取决于指定事件处理程序的方法。...但是如果通过attachEvent添加事件,则事件处理程序会传递一个event对象。   IE的event对象同样包含创建它的相关属性和方法,与DOM事件一样,也会因为事件类型的不同而不同。...,包括添加事件、移除事件、获取事件对象、获取事件的目标元素、阻止默认行为和阻止冒泡。

1.2K60

JS获取事件对象,获取事件的源对象(Firefox,IE)

也可以用Prototype或者JQuery等,它们有他们对事件的包装。还是使用JS库比较好,不然就有下边的麻烦。...同时注意event的 兼容性问题。  感觉这个挺好,可以捕获当前事件作用的对象,如event.srcElement.tagName可以捕获活动标记名称。...怎么用,在此详细说明: IE下,event对象有srcElement属性,但是没有target属性;Firefox下,event对象有target属性,但是没有srcElement属性.但他们的作用是相当的...在 ie中处理事件直接使用window.event对象即可,但在firefox中,是没有 window.event对象的,函数需要使用事件的时候,需要在事件发生时把事件作为参数传递给函数,不象在ie...中,事件对象是全局的,随处都可以访 问.下面这个getEvent()函数可以兼容firefox和ie,只需要在访问事件对象的函数的开始调用getEvent()即可,不用再把事件作为 参数传递.以下代码已经实验通过

10.1K50
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    JavaScript事件对象与事件的委托

    事件对象 包含事件相关的信息,如鼠标、时间、触发的DOM对象等  js默认将事件对象封装好,并自动的以参数的形式,传递给事件处理函数的第1个参数,如下: document.getElementsByTagName...("div")[0].onclick = function(e){   e = window.event || e; //兼容IE低版本(事件对象绑定在window的event上)   console.log...(e);//这里e就是事件对象 } 事件的属性和方法 type:获取事件类型(click、mouseover等等) target:获取发生的所在元素(在低版本IE下用srcElement属性) stopPropagation...target属性,获取时间发生的所在对象,避免全体子元素加事件,对比如下:  var tbs=document.getElementsByTagName("td"); for(var i=0;i...document.getElementsByTagName("table")[0].onclick=function(e){ e.target.style.background="red";//只绑定父元素事件

    91350

    【JAVA面向对象编程】--- 探索子类如何继承父类

    注意事项: 1.当调用含参的构造方法时系统就不会自动调用无参构造方法 2.对象属性的初始化一定得调用构造方法的 3.子类构造方法:当我们构造Dog时要先调用它的构造方法---> (1).先帮助父类初始化...【不带参数默认叫咪咪,带参数需要自己传】 父类初始化虽然执行了父类的构造方法,但没有生成父类对象,这里只是帮助子类初始化从父类继承过来的属性。...总结: 在子类构造方法中,并没有写任何关于基类构造的代码,但是在构造子类对象(穿件对象)时,先执行基类(父类)的构造方法,然后执行子类的构造方法, 因为: **子类对象中成员是有两部分组成的...父子父子肯定是先有父再有子,所以在构造子类对象时候 ,先要调用基类的构造方法,将从基类继承下来的成员构造完整,然后再调用子类自己的构造方法,将子类自己新增加的成员初始化完整**。...注意: 1,若父类显式定义无参或者默认的构造方法,在子类构造方法第一行默认有隐含的super(调用,即调用基类构造方法 2.如果父类构造方法是带有参数的,此时需要用户为子类显式定义构造方法,并在子类构造方法中选择合适的父类构造方法调用

    9110

    在__init__中设置对象的父类

    1、问题背景在Python中,可以为对象设置一个父类,从而实现继承。但是,如果想要在实例化对象时动态地指定父类,则会出现问题。...例如,以下代码试图在实例化Circle对象时,将它的父类设置为Red或Blue:class Red(object): def x(self): print('#F00')class...(parent=Red)blue_circle = Circle(parent=Blue)blue_square = Square(parent=Blue)但是,这段代码会报错,因为在Python中,对象的父类只能在类定义时指定...如果parent是Blue,则创建两个类,Circle和Square,它们的父类都是Blue。最后,它返回创建的类。这样,我们就可以在实例化对象时动态地指定对象的父类了。第二个解决方案是使用依赖注入。...依赖注入是一种设计模式,它可以将对象的依赖关系从对象本身中解耦出来。这样,就可以在实例化对象时动态地注入它的依赖关系。

    10810

    前端学习(50)~事件的绑定和事件对象

    ("事件2"); } 点击按钮后,上方代码的打印结果: 事件2 我们可以看到,DOM对象.事件 = 函数的这种绑定事件的方式:一个元素的一个事件只能绑定一个响应函数...不存在响应函数被覆盖的情况。执行顺序是:事件被触发时,响应函数会按照函数的绑定顺序执行。 addEventListener()中的this,是绑定事件的对象。...当事件的响应函数被触发时,会产生一个事件对象event。...浏览器每次都会将这个事件event作为实参传进之前的响应函数。 这个对象中包含了与当前事件相关的一切信息。比如鼠标的坐标、键盘的哪个按键被按下、鼠标滚轮滚动的方向等。...此时,事件对象 event 是作为window对象的属性保存的。 于是,我们可以采取一种兼容性的写法。

    94720

    FlashFlex学习笔记(35):如何正确监听Stage对象的事件

    如果想在一个自定义类中注册对stage对象的监听事件,然后在另一个文档类中使用该类的实例(或在fla的时间轴上使用该类的实例),你会很郁闷的发现:在构造函数中始终无法引用到this.stage(用trace...(this.stge)会一直返回null),既然引用都得不到,当然也就无法注册事件了,正确的做法如下: package{ import flash.display.Sprite; import...MouseDownHandler(e:Event):void{ trace("you clicked the stage"); } } } 即必须在ADDED_TO_STAGE事件以后...,才能引用到stage对象,当然还有一个提前是该类的实例必须被addChild,比如象下面这样,可以在fla时间轴的帧代码中这样使用: var mycls:MyClass = new MyClass()

    1.1K50

    【JavaSE专栏63】多态,父类引用子类的对象,面向对象编程中的重要概念

    多态是面向对象编程中的一个重要概念,它允许使用父类的引用变量来引用子类的对象,实现对不同子类对象的统一处理。...当一个父类引用变量指向一个子类对象时,可以通过这个父类引用变量调用子类中重写的方法。...---- 三、如何进行多态 在 Java 中,实现多态的基础是继承和方法的重写,下面是一个简单的示例代码来说明多态的实现,请同学们认真学习。...具体来说,通过继承和方法重写,子类可以重写父类的方法,并且通过父类引用变量来引用不同子类的对象,实现对不同对象的统一处理。 二、多态的实现方式有哪些?...通过父类引用变量来引用猫类和狗类的对象,并调用 eat() 方法,可以实现不同动物对象的不同行为。

    50530

    事件对象的使用、属性和方法

    1 event.target代表当前触发事件的元素,可以通过当前元素对象的一系列属性来判断是不是我们想要的元素 2 target属性可以是注册事件时的元素或者子元素,通常用于比较event.target...和this来确定是不是由于冒泡而触发的,经常用于事件冒泡时处理事件委托 3 事件对象是用来记录一些事件发生时的相关信息的对象。...事件对象只有事件发生时才会产生,并且只能是事件处理函数内部访问,在所有事件处理函数运行结束后,事件对象就被销毁 4 jQuery事件对象的作用 li都有一个共同的父元素,而且所有的事件都是一致的...()阻止事件冒泡,为防止事件冒泡到DOM树上,也就是不触发的任何前辈元素上的事件处理函数 9 event.which获取在鼠标单击时,单击的是鼠标的哪个键 10 event.which...3 11 event.currentTarget : 在事件冒泡过程中的当前DOM元素,冒泡前的当前触发事件的DOM对象, 等同于this 12 this和event.target的区别

    1.5K30

    子组件传对象给父组件_react子组件改变父组件的状态

    大家好,又见面了,我是你们的朋友全栈君。...子组件传值给父组件 首先 子组件(组件名“Child”)内定义一个方法 例如 sendData = () => { let data = ‘1234’; this.props.getData(data...); //这个this,props.xxx 后面的xxx是是在父组件那使用的名字; }, 然后可以在render函数后使用这个方法或者另外定义一个事件去触发该方法进行传值, 之后可在父组件(Parent...)内使用这个方法获取拿到的值: Parent组件内:首先定义一个方法getData或者其他什么都可以随便取 ,这里的this.getData的这个方法是你随便取的那个,例如getData=this.xxx...都可以,但是你这里是this.xxx,父组件内定义的方法就必须名字叫xxx, 然后就是 xxx = (data) => { console.log(data); //此时就会打印 子组件传给父组件的

    2.8K30

    基于对象 - 事件模式的数据计算问题

    基于对象 - 事件模式(schema)的数据计算,可以说是商业中最常见的一种数据分析任务。...这里说的对象可以是电商系统用户、游戏玩家、银行账号、手机、车辆等等,通常会有个唯一的 ID,对象涉及的事件都记录在这个 ID 下,比如手机的通话记录、用户的操作日志、银行账号的交易记录等。...有时候 ID 会复杂一些,不一定是一个单一对象。比如 ERP 系统中统计仓库中商品的库龄,ID 会是仓库和商品的组合,事件则是商品的入库和出库动作,总会同时涉及仓库和商品。...有些聚合计算比较简单,不涉及事件发生的次序,只是统计满足某些条件的事件的发生次数或事件信息的合计值(次数本质上是在合计 1),比如银行账号的交易额超过 1 万元的交易次数、节假日发生的交易额,手机通话时间不超过...SQL 的难点主要是两个方面。ID 相关事件的聚合计算,会涉及多条互相依赖的事件记录。

    6410

    PHP面向对象-子类对父类成员的访问(二)

    访问继承的方法子类可以继承父类的方法,并且可以覆盖它们以实现自己的行为。子类可以调用继承的方法,包括公共、保护和私有方法。...然后我们定义了一个Dog类,它继承自Animal类,并添加了一个公共的bark()方法、一个公共的walkAndBark()方法和一个公共的eat()方法。...在Dog类中,我们调用了继承的walk()方法,并且使用$this->语法调用了自己的bark()方法。我们还覆盖了继承的eat()方法,以实现自己的行为。...在子类中,可以调用继承的公共和保护方法,但不能直接调用继承的私有方法。如果需要调用继承的私有方法,可以在父类中添加一个公共的调用器方法。在子类中,还可以覆盖继承的方法以实现自己的行为。...在覆盖方法时,可以使用parent::语法调用父类的方法。在上面的示例中,Dog类覆盖了继承的eat()方法,并使用echo语句输出了自己的行为。

    92450

    Java子类与父类之间的对象转换(说明继承)

    参考链接: 父类和子类在Java中具有相同的数据成员 在使用Java的多态机制时,常常使用的一个特性便是子类和父类之间的对象转换。...从子类向父类的转换称为向上转换(upcasting),通过向上转换,我们能够在编写程序时采用通用程序设计的思想,在需要使用子类对象的时候,通过把变量定义为父类型,我们可以通过一个变量,使用该父类型的所有子类型实例...以下是我对于对象转换的一些个人理解,如有不对,欢迎指正,虚心向大神们请教。    首先是从子类向父类的向上转换。...向上转换比较直观,总是能够将一个子类的实例转换为一个父类的对象,从继承链的角度,这个特性很容易理解:继承是一种“是一种”的关系,从父类派生出的子类,我们都能理解为,子类总是父类的一个实例。...所以,如果没有使用instanceof防止不同子类型之间的对象转换,而又不能指望编译器检查出这种转换逻辑错误的话,就很容易犯错了。

    3.8K20
    领券