JavaScript学习--8.1
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 ...
随机推荐
- Sed替换 内容带反斜杠(/)
sed "s#XXXX#${NAME}#" $MAIL_CONTENT > /tmp/MAIL_CONTENT1.tmp -----不论什么字符,紧跟着s命令的都被认为是新的 ...
- 4.ICMP协议,ping和Traceroute
1.IMCP协议介绍 前面讲到了,IP协议并不是一个可靠的协议,它不保证数据被送达,那么,自然的,保证数据送达的工作应该由其他的模块来完成.其中一个重要的模块就是ICMP(网络控制报文)协议. 当传送 ...
- prism silverlight
转自 http://www.cnblogs.com/li-xiao/archive/2011/01/13/1934564.html Prism简介 Prism是由微软Patterns & ...
- java 之 Spring 框架(Java之负基础实战)
1.Spring是什么 相当于安卓的MVC框架,是一个开源框架.一般用于轻型或中型应用. 它的核心是控制反转(IoC)和面向切面(AOP). 主要优势是分层架构,允许选择使用哪一个组件.使用基本的Ja ...
- HDU -2100-Lovekey
题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=2100 这题开始一直想着先把26进制转换成10进制,在转换成26进制,又200个字符因而行不通, 直接卡 ...
- HTML 多媒体、Object 元素、音频、视频
Web 上的多媒体指的是音效.音乐.视频和动画. 现代网络浏览器已支持很多多媒体格式. 什么是多媒体? 多媒体来自多种不同的格式.它可以是您听到或看到的任何内容,文字.图片.音乐.音效.录音.电影.动 ...
- SVG的Transform使用
SVG的Transform使用: <%@ page language="java" contentType="text/html; charset=UTF-8&qu ...
- C# 枚举的使用
/// <summary> /// 枚举的使用 /// 主要功能:使用枚举的值DataTypeId.Money,获取对应的Money字符串. /// </summa ...
- Winform ListView的用法
清除数据: lvOrder.Items.Clear(); 赋值数据: if (lvList.Count != 0) { foreach (var item in lvList) { string[] ...
- 如何改变xls中的单元格左上角的图标
点绿色小三角的是文本型数字,是不能参与加减运算的.首先选中含有绿色小三角的单元格,右击鼠标选择,设置单元格格式, 数字选项卡,选择常规