js事件

1.注册事件

  (1)HTML事件处理函数

    <input type="button" onclick="alert('hello');test()"/>

这里的事件处理函数就是引号内的alert('hello');test()不要经常看到onclick="test()"而以为事件处理函数是test方法

  (2)DOM0形式

  btn.onclick = test;

  function test(){

    ......

  }

  (3)DOM2形式

     IE: btn.attachEvent("onclick",test);

     chrome/firefox: btn.addEventListener("click",test,false);

2.this的指向

  (1)HTML事件处理函数: this指代触发事件的html元素

  (2)DOM0形式: this指代触发事件的html元素

  (3)DOM2形式:

        IE: 指代window对象

        chrome/firefox: 指代触发事件的html元素

3.事件对象Event

   (1)HTML事件处理函数

    <input type="button" onclick="alert(event)"/>变量event中保存着event对象

     (2)DOM0形式

      IE: btn.onclick = function(){alert(window.event);}

  event对象作为window对象的属性存在

      chrome:btn.onclick = function(event){alert(event);};

  event对象将作为参数传递到事件处理程序中

   (3)DOM2形式

      IE: btn.attachEvent("onclick",function(event){....});

    即可以通过将event对象作为参数传递给事件处理程序,也可以通过window.event来访问

      chrome: btn.addEventListener("click",function(event){...},false);

    event对象作为参数传递给事件处理程序

4.事件对象的属性和方法

  IE:

      cancelBubble Boolean类型 是否取消冒泡行为

             returnValue Boolean类型 是否取消默认行为

             srcElement 事件的触发对象

  chrome:

      bubbles Boolean类型 是否冒泡

      cancelable Boolean类型 是否能取消默认行为

      defaultPrevented Boolean类型 默认类型是否已取消

      currentTarget 注册事件处理程序的元素

      target            触发事件的元素

      preventDefault()  取消默认行为

      stopPropagation() 阻止事件冒泡

      stopImmediatePropagation() 阻止冒泡 同时自己的监听某一事件的所有处理函数都停止工作

 

 

      

你可能感兴趣的:(js事件)