JavaScript学习--8.1(常见的js代码兼容工具总结)
1.取css样式表和非行间样式的属性
function getStyle(obj,attr){ if(obj.currentStyle){ return obj.currentStyle[attr]; }else{ return window.getComputedStyle(obj,null)[attr]; //需要选择属性的对象和一个伪元素字符如(:after) } }
注意:该方法取得的元素属性带有单位的,比如height、width是px
2.为了兼容通过class来获取元素
function getByClass(classname){ var result=[]; //用来存放筛选的元素 var elements=document.getElementsByTag("*"); for(var i=0;i<elements.length;i++){ if(elements[i].className==classname){ result.push(elements[i]); } } return result; }
注意:获取到的是一个数组形式的,需要选择其中的加上下标就好
3.兼容性获取事件对象
function getEvent(e){ var oEvent=e||window.event; return oEvent; }
4.添加多事件句柄
function addEvent(element,type,handle){ if(element.addEventListener){ //DOM2级 element.addEventListener(type,handler,false); //执行事件冒泡流 }else if(element.attachEvent){ element.attachEvent('on'+type,handler); }else{ element['on'+type]=handler; //任何元素支持的写法 } }
5.移除多事件句柄
function(element,type,handler){ if(element.removeEventListener){ //DOM2级 element.removeEventListener(type,handler,false); //执行事件冒泡流 }else if(element.detachEvent){ element.detachEvent('on'+type,handler); }else{ element['on'+type]=null; //任何元素支持的写法 } }
6.返回事件的类型
function getType(e){ var oEvent=e||window.event; return oEvent.type; //不存在兼容性问题 }
7.返回事件所在的元素
function getE(e){ var oEvent=e||window.event; return oEvent.target||oEvent.srcElement; }
8.取消事件冒泡
function stop(e){ var oEvent=e||window.event; if(oEvent.stopPropagation){ oEvent.stopPropagation(); }else{ oEvent.cancelBubble=true; //取消事件冒泡 } }
9.取消默认行为
function prevent(e){ var oEvent=e||window.event; if(oEvent.preventDefault){ oEvent.preventDefault(); }else{ oEvent.returnValue=false; //取消默认事件 } }
10.为onload添加多个事件
function addLoadEvent(func){ var oldLoad=window.onload; if(typeof(window.onload)!="function"){ window.onload=func; }else{ window.onload=function(){ oldLoad(); func(); } } }
JavaScript学习--8.1的更多相关文章
-
JavaScript学习(一) —— 环境搭建与JavaScript初探
1.开发环境搭建 本系列教程的开发工具,我们采用HBuilder. 可以去网上下载最新的版本,然后解压一下就能直接用了.学习JavaScript,环境搭建是非常简单的,或者说,只要你有一个浏览器,一个 ...
-
Web编程基础--HTML、CSS、JavaScript 学习之课程作业“仿360极速浏览器新标签页”
Web编程基础--HTML.CSS.JavaScript 学习之课程作业"仿360极速浏览器新标签页" 背景: 作为一个中专网站建设出身,之前总是做静态的HTML+CSS+DIV没 ...
-
JavaScript学习(3):函数式编程
在这篇文章里,我们讨论函数式编程. 什么是函数式编程?根据百度百科的描述,“函数式编程是种编程典范,它将电脑运算视为函数的计算.函数编程语言最重要的基础是 λ 演算(lambda calculus). ...
-
JavaScript学习(2):对象、集合以及错误处理
在这篇文章里,我们讨论一下JavaScript中的对象.数组以及错误处理. 1. 对象 对象是JavaScript中的一种基本类型,它内部包含一些属性,我们可以对这些属性进行增删操作. 1.1 属性 ...
-
JavaScript学习13 JavaScript中的继承
JavaScript学习13 JavaScript中的继承 继承第一种方式:对象冒充 <script type="text/javascript"> //继承第一种方式 ...
-
JavaScript学习12 JS中定义对象的几种方式
JavaScript学习12 JS中定义对象的几种方式 JavaScript中没有类的概念,只有对象. 在JavaScript中定义对象可以采用以下几种方式: 1.基于已有对象扩充其属性和方法 2.工 ...
-
JavaScript学习11 数组排序实例
JavaScript学习11 数组排序实例 数组声明 关于数组对象的声明,以前说过:http://www.cnblogs.com/mengdd/p/3680649.html 数组声明的一种方式: va ...
-
JavaScript学习10 JS数据类型、强制类型转换和对象属性
JavaScript学习10 JS数据类型.强制类型转换和对象属性 JavaScript数据类型 JavaScript中有五种原始数据类型:Undefined.Null.Boolean.Number以 ...
-
JavaScript学习09 函数本质及Function对象深入探索
JavaScript学习09 函数本质及Function对象深入探索 在JavaScript中,函数function就是对象. JS中没有方法重载 在JavaScript中,没有方法(函数)重载的概念 ...
-
JavaScript学习08 Cookie对象
JavaScript学习08 Cookie对象 JavaScript Cookie Cookie对象: Cookie是一种以文件的形式保存在客户端硬盘的Cookies文件夹中的用户数据信息(Cooki ...
随机推荐
-
将n*n矩阵顺时针旋转90度
/** * 将n*n矩阵顺时针旋转90度 * @param mat * @param n 矩阵的阶数 * @date 2016-10-7 * @author shaobn */ public stat ...
-
pygame简单动态图 &; 动态图片的移动
之前在学pygame 时看了一些博客(来自http://eyehere.net/2011/python-pygame-novice-professional-plant-zombie-1/),觉得写得 ...
-
Swift基础学习01
相关网站:http://www.cnblogs.com/tt_mc/p/3871295.html 相关辅助操作: 可以在右边直接查看输出值 可能出现的常见问题: 1.凡是=注意左右间距一样 2 ...
-
暑假集训(3)第三弹 -----Til the Cows Come Home(Poj2387)
题意梗概:据说母牛在产奶的时候,因为奶量太充足,希望有人帮它挤奶,它回家就很快.我们便能喝到鲜美的 牛奶,不过,贫奶季节却大不相同,它会懒洋洋的在大草原上晃来晃去的晒太阳,而不会想到马上回家,这可不 ...
-
mybatis 打印 sql
该文中使用的log框架为logback myBatis3.0.6左右的版本时 打印sql的时候只需要配置如下属性: <logger name="java.sql.Connection& ...
-
[转] 使用NVM快速搭建NODE开发环境
export NVM_NODEJS_ORG_MIRROR=https://npm.taobao.org/mirrors/node 本文主要介绍最近自己碰到的几个坑以及搜索到的相应解决方案: 如何快速搭 ...
-
利用jQuery打造个性网站
网页结构 编写全局样式(reset.css) /*全局样式*/ body,h1,h2,h3,h4,h5,h6,hr,p,blockquote,dl,dt,dd,ul,ol,li,pre,form,fi ...
-
029 hibernate抓取策略
实例A引用实例B,B如果是代理的话(比如多对一关联中):如果遍历A的查询结果集(假设有10条记录),在遍历A的时候,访问B变量,将会导致n次查询语句的发出!这个时候,如果在B一端的class上配置ba ...
-
Matlab入门学习(程序设计)
一.循环(for,while) for循环: for i=begin:step:end ...... end while循环: while condition ...... end 二.分枝(if,i ...
-
js滚动到指定位置
序言:在网络上百度,关键字:“js div滚动到指定位置”,结果基本上大同小异!各种大神都给我们总结出来了四种滚动到指定位置的办法,可惜再下愚钝,每个都不会用,所以写了一个超级简单的方法来使初学者一看 ...