事件发生以后,会产生一个事件对象,作为参数传给监听函数。

Event对象属性

  1. Event.currentTarget:返回事件监听者
  2. Event.Target:返回事件触发者
  3. Event.type:返回事件类型

    currentTarget:div 指向事件监听者(谁添加的事件指向谁) target:button 事件真正的触发者(谁触发的事件指向谁)

Event.currentTarget

Event.currentTarget属性返回事件当前所在的节点,即正在执行的监听函数所绑定的那个节点

Event.target

Event.target属性返回原始触发事件的那个节点,即事件最初发生的节点。事件传播过程中,不同节点的监听函数内部的Event.target与Event.currentTarget属性的值是不一样的,前者总是不变的,后者则是指向监听函数所在的那个节点对象

Event.type

Event.type属性返回一个字符串,表示事件类型。事件的类型是在生成事件的时候。该属性只读

Event对象方法

  1. Event.preventDefault() :阻止浏览器默认事件
  2. Event.stopPropagation() :阻止事件冒泡

    Event.preventDefault

    Event.preventDefault方法取消浏览器对当前事件的默认行为。比如点击链接后,浏览器默认会跳转到另一个页面,使用这个方法以后,就不会跳转了
    1. btn.onclick = function(e){
    2. e.preventDefault(); // 阻止默认事件
    3. console.log("点击A标签");
    4. }

    Event.stopPropagation()

    stopPropagation方法阻止事件在 DOM 中继续传播,防止再触发定义在别的节点上的监听函数,但是不包括在当前节点上其他的事件监听函数
    1. btn.onclick = function(e){
    2. e.stopPropagation(); // 阻止事件冒泡
    3. console.log("btn");
    4. }

    键盘事件:按下回车

    keyCode:唯一标识
    (e.keyCode === 13):回车
    1. var username = document.getElementById("username");
    2. username.onkeydown = function(e){
    3. if(e.keyCode === 13){
    4. console.log("回车");
    5. }
    6. }