1.非行内样式获取

    高级浏览器

  1.    getComputedStyle(obox.false)//获取所有属性

    ie浏览器

  1.   box.currentStyle//获取所有属性

    兼容写法

  1.   function getStyle(ele,attr){//ele为获取元素,attr为属性。
           var a = "";
           if(ele.currentStyle){
               a = ele.currentStyle[attr];
           }else{
              a = getComputedStyle(ele,false)[attr];
           }
               return a;
           }

  2.事件冒泡的兼容

  高级浏览器

  1.   e.stopPropagation()

  ie浏览器

  1.   e.cancelBubble = true;

  兼容写法

  1. function stopBubble(e){
  2. if(e.stopPropagation){
  3. e.stopPropagation();
  4. }else{
  5. e.cancelBubble = true;
  6. }
  7. }

  3.阻止默认事件

  高级浏览器

  1.  e.preventDefault()

  ie浏览器

  1.  e.returnValue = false

  兼容写法

  1.   function stopDefault(e){
  2. if(e.preventDefault){
  3. e.preventDefault()
  4. }else{
  5. e.returnValue = false;
  6. }
  7.   }

  4.DOM2级绑定事件

  高级浏览器

  1.   obox.addEventListener("click",fn)

  ie浏览器

  1.   obox.attachEvent("onclick",fn)

  兼容写法和删除兼容

  1. //绑定兼容写法
  2. addEvent(obox,"click",fn1)
  3. function fn1(){
  4. console.log()
  5. }
  6. function addEvent(ele,type,cb){
  7. if(ele.addEventListener){
  8. ele.addEventListener(type,cb)
  9. }else if(ele.attachEvent){
  10. ele.attachEvent("on"+type,cb)
  11. }else{
  12. ele["on"+type] = cb;
  13. }
  14.  
  15. }

  16. //删除的兼容
  17. removeEvent(obox,"click",fn1)
  18. function removeEvent(ele,type,cb){
  19. if(ele.removeEventListener){
  20. ele.removeEventListener(type,cb)
  21. }else if(ele.detachEvent){
  22. ele.detachEvent("on"+type,cb)
  23. } else{ele["on"+type] = null;
  24. }
  25. }

 6.ajax的兼容

  1.   var xhr = new XMLHttpRequest() || new ActiveXObject("Microsoft,XMLHTTP");

 7.获取滚动条距离

  1. var sTop = document.documentElement.scrollTop || document.body.scrollTop

 8.鼠标编码的兼容

  1. function getButton(evt){
  2. var e = evt || window.event;
  3. if(evt){
  4. return e.button;
  5. }else if(window.event){
  6. switch(e.button){
  7. case : return ;
  8. case : return ;
  9. case : return ;
  10. }
  11. }
  12. }

 9.获取键盘编码的兼容

  1. evt.preventDefault ? evt.preventDefault() : evt.returnValue = false;

  

js的一些兼容融性问题的更多相关文章

  1. js event 事件兼容浏览器 ie不需要 event参数 firefox 需要

    js event 事件兼容浏览器    ie不需要 event参数   firefox 需要 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 ...

  2. Js 日期选择,可以的一个页面中重复使用本JS日历,兼容IE及火狐等主流浏览器,而且界面简洁、美观,操作体验也不错。

    <html> <head> <title>Js日期选择器并自动加入到输入框中</title> <meta http-equiv="con ...

  3. nodejs——js 实现webSocket 兼容移动端

    nodejs——js 实现webSocket 兼容移动端 //服务器端 //npm install --save ws const express = require('express'); cons ...

  4. IE和firefox火狐在JS、css兼容区别

    1.firefox不能对innerText支持. firefox支持innerHTML但却不支持innerText,它支持textContent来实现innerText,不过默认把多余的空格也保留了. ...

  5. JS/JQ常见兼容辅助插件

    1.Respond.js Respond.js 是一个快速.轻量的 polyfill,用于为 IE6-8 以及其它不支持 CSS3 Media Queries 的浏览器提供媒体查询的 min-widt ...

  6. html5 video.js 使用及兼容所有浏览器

    废话少说,直接开始 一.准备材料 video.js下载: http://www.videojs.com/ 二.代码 引入相关文件:(必须放在文件的开头,也是说一定要放在video标签之前) 贴入htm ...

  7. 加入收藏夹的js代码(求兼容chrome浏览器的代码)

    从网上找了加入收藏夹的js代码,但不兼容chrome,不知道有没有兼容chrome的相关代码,希望有知道的告诉一下,谢谢! 代码如下 $("#id").click(function ...

  8. JS事件及其兼容用法

    JavaScript与HTML之间的交互是通过事件实现的.事件,就是文档或浏览器窗口中发生的一些特定的交互瞬间. 1.事件流:描述的是从页面中接收事件的顺序. IE提出的事件冒泡流:事件开始由最具体的 ...

  9. JS中的兼容问题总结

    今天总结总结在JS里面遇到的兼容性问题 1.获取滚动距离的兼容性问题: document.documentElement.scrollTop  ||  document.body.scrollTop ...

随机推荐

  1. R-CNN/Fast R-CNN/Faster R-CNN

    一.R-CNN 横空出世R-CNN(Region CNN,区域卷积神经网络)可以说是利用深度学习进行目标检测的开山之作,作者Ross Girshick多次在PASCAL VOC的目标检测竞赛中折桂,2 ...

  2. 一篇文章搞懂Python装饰器所有用法

    01. 装饰器语法糖 如果你接触 Python 有一段时间了的话,想必你对 @ 符号一定不陌生了,没错 @ 符号就是装饰器的语法糖. 它放在一个函数开始定义的地方,它就像一顶帽子一样戴在这个函数的头上 ...

  3. Win7 双系统安装Centos7,并由windows引导程序引导

    1. 在windows磁盘管理中,压缩卷,腾出40G,需保证一个磁盘设备最多只有3个主分区2. 网上下载centos7的dvd.iso3. 使用UltraISO刻录到U盘4. 重启系统F12使用usb ...

  4. Server 2012使用Windows PowerShell cmdlet安装角色和角色服务功能

    Server 2012使用Windows PowerShell cmdlet安装角色和角色服务功能  Windows Server 2012 安装 SQL server 2008 出现了如下错误: 解 ...

  5. 用Keras搭建神经网络 简单模版(五)——RNN LSTM Regressor 循环神经网络

    # -*- coding: utf-8 -*- import numpy as np np.random.seed(1337) import matplotlib.pyplot as plt from ...

  6. array_splice 在数组某位置插入数据

    $arr=array('a','b','c','d','e','f','g');//目标数组 $i_arr=array(');//要插入的数组 $n=;//插入的位置 array_splice($ar ...

  7. hdfs操作命令

    文件操作命令:hdfs dfs -ls /hdfs dfs -mkdir /hdfs dfs -rm -rf /hdfshdfs dfs -duhdfs dfs -get /hdfs /localhd ...

  8. 服务器watchdog看门狗的理解

    1.什么是watchdog?watchdog,中文名称叫做“看门狗”,全称watchdog timer,从字面上我们可以知道其实它属于一种定时器.然而它与我们平常所接触的定时器在作用上又有所不同.普通 ...

  9. CodeForces 1251A --- Broken Keyboard

    [CodeForces 1251A --- Broken Keyboard ] Description Recently Polycarp noticed that some of the butto ...

  10. Linux selinux 防火墙

    cat /etc/selinux/config # This file controls the state of SELinux on the system. # SELINUX= can take ...