javaScript事件机制兼容【详细整理】

 更新时间:2016年07月23日 09:45:21   投稿:jingxian  
下面小编就为大家带来一篇javaScript事件机制兼容【详细整理】。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

【添加事件机制】  addEventListener  和  attachEvent

[W3C]

addEventListener('click' , function(){alert('Hello World')} ,false )  //W3C规范添加事件(IE8及以上不兼容);  第一个参数为事件类型 ,第二个为事件程序 ,第三个 false为事件冒泡,true为事件捕获

[IE]

attachEvent('onclick',function(){alert('Hello World')})  //IE添加事件;  第一个参数为事件类型(需要加on) ; 第二个为事件程序 ; 因为IE只支持事件冒泡,所以只有两个参数

[跨浏览器兼容]

function insertEvent(obj,Event,fun){

  if(obj.addEvenListener){

    addEventLitener(Event,fun,false)

  }else if(obj.attach){

    attachEvent('on'+Event,fun)

  }  

}

【删除事件机制】 removeEventListener  detachEvent

[W3C] removeEventListener

removeEventListener()    //利用addEventListener新增的事件只能通过removeEventListener来删除;

[注意] //以下这种删除事件方式是错误的,因为事件程序必须不能是一个匿名函数

addEventListener('click' , function(){alert('Hello World')} ,false )

removeEventListener('click',function(){alert('Hello World')},false) 

 [解决]

addEventListener('click' , box ,false );

removeEventListener('click',box,false) ;

function box(){

  alert('Hello World');

}

[跨浏览器兼容]

function deleteEvent(obj,Event,fun){

  if(obj.removeEventListener){

    removeEventListener(Event,fun,false);

  }else if(obj.detachEvent){

    detachEvent('on'+Event,fun)

   }

}

 【阻止特定事件的默认行为】

[preventDefault  和returnValue]

[W3C] preventDefault

[IE]  reutrnValue

[跨浏览器兼容]

function(event){

  event=event || window.event;

  if(event.preventDefault){

    event.preventDefault()

  }else{

   event.returnValue=false;

  }

}  

【获取目标对象】

[target 和 srcElement]

function(event){

  event=event || window.event;

  if(event.target){

    return event.target;

  }else if(event.srcElement){

    return event.srcElement;

  }

 

  }

以上这篇javaScript事件机制兼容【详细整理】就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • JavaScript中的this机制

    JavaScript中的this机制

    简言之,this是JavaScript语言中定义的众多关键字之一,它的特殊在于它自动定义于每一个函数域内,但是this倒地指引啥东西却让很多人张二摸不着头脑。希望看完这篇文章了你能回答出来this到底指引个甚。
    2016-01-01
  • Javascript学习笔记之 函数篇(三) : 闭包和引用

    Javascript学习笔记之 函数篇(三) : 闭包和引用

    本系列好久没更新了,今天重新拿过来,继续前面未完成的事项,本文我们就来谈谈Javascript 中一个最重要的特性--闭包的使用引用。
    2014-11-11
  • javascript中apply、call和bind的使用区别

    javascript中apply、call和bind的使用区别

    下面小编就为大家带来一篇javascript中apply、call和bind的使用区别。小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-04-04
  • JavaScript入门之语言基础

    JavaScript入门之语言基础

    本文通过全面列举基础的JavaScript概念这一方式来阐述该语言的基本原理,以此来为初学者提供一个对语言的基本了解,随处可见的代码例子则是用来说明所有的这些概念是如何在语言中体现出来的
    2011-10-10
  • JavaScript入门教程(10) 认识其他对象

    JavaScript入门教程(10) 认识其他对象

    对于需要更好的控制html的一些元素,就需要了解这些了。大家知道就行,有需要时可以再看。
    2009-01-01
  • ArrayList类(增强版)

    ArrayList类(增强版)

    ArrayList类(增强版)...
    2007-04-04
  • 深入理解JavaScript系列(48):对象创建模式(下篇)

    深入理解JavaScript系列(48):对象创建模式(下篇)

    这篇文章主要介绍了深入理解JavaScript系列(48):对象创建模式(下篇),本篇主要是介绍创建对象方面的模式的下篇,利用各种技巧可以极大地避免了错误或者可以编写出非常精简的代码,需要的朋友可以参考下
    2015-03-03
  • Javascript基础教程之数据类型转换

    Javascript基础教程之数据类型转换

    JavaScript是一种无类型语言,但同时JavaScript提供了一种灵活的自动类型转换的处理方式。基本规则是,如果某个类型的值用于需要其他类型的值的环境中,JavaScript就自动将这个值转换成所需要的类型。
    2015-01-01
  • 了解JavaScript中的选择器

    了解JavaScript中的选择器

    这篇文章主要介绍了JavaScript中的选择器,下面和小编一起了看看吧
    2019-05-05
  • 对js关键字命名的疑问介绍

    对js关键字命名的疑问介绍

    对js关键字命名我感觉有点乱,于是整理了一下,需要的朋友也可以参考下
    2014-04-04

最新评论