JavaScript原生兼容大全-持续更新
JavaScript兼容-持续更新
1.css非行内样式操作
// currentStyle用于IE低版本 getComputed用于主流浏览器
// element 目标元素 attribute 目标属性
function getStyle(element, attribute) {
return element.currentStyle ? element.currentStyle(attribute) : getComputed(element)[attribute];
}
2.事件添加删除
// attachEvent/detachEvent用于IE低版本 addEventListener/removeEventListener用于主流浏览器
// element 事件源(目标元素) eventType 事件类型 callback 事件行为
// 添加
function addEvent(element, eventType, callback) {
// element.attachEvent ? element.attachEvent(`on${eventType}`, callback) : element.addEventListener(eventType, callback);
if (ele.attachEvent) {
ele.attachEvent('on' + type, callback);
} else {
ele.addEventListener(type, callback);
}
}
//删除
function removeEvent(element, eventType, callback) {
// element.detachEvent ? element.detachEvent(`on${eventType}`, callback) : element.removeEventListener(eventType, callback);
if (ele.attachEvent) {
ele.detachEvent('on' + type, callback);
} else {
ele.removeEventListener(type, callback);
}
}
3.事件对象
// window.event用于IE低版本 event用于主流浏览器
element.onEventType = function(event) {
var e = event || window.event;
}
4.阻止冒泡
// cancelBubble = true用于IE低版本 stopPropagetion用于主流浏览器
element.onEventType = function(event) {
var e = event || window.event;
// e.stopPropagetion ? e.stopPropagetion() : e.cancelBubble = true;
if (e.stopPropagetion) {
e.stopPropagetion();
} else {
e.cancelBubble = true;
}
}
5.键盘keyCode
// which用于IE低版本 keyCode用于主流浏览器
element.onEventType = function(event) {
var e = event || window.event;
var code = e.keyCode || e.which;
}
6.取消默认行为
// returnValue用于IE低版本 preventDefault用于主流浏览器
element.onEventType = function(event) {
var e = event || window.event;
e.preventDefault ? e.preventDefault() : e.returnValue;
if (e.preventDefault) {
e.preventDefault();
} else {
e.returnValue;
}
// return false 写在函数最后 也可以阻止默认事件 没有兼容问题
}
JavaScript原生兼容大全-持续更新的更多相关文章
- JavaScript 使用技巧(持续更新)
JavaScript 使用技巧(持续更新) 类型检测 使用Object.prototype.toString.call(obj)的方式. 因为无论typeof还是instanceof都无法做到精确判断 ...
- <精华篇>:iOS视频大全-持续更新
注意:新浪微博分享的资料和简书分享的资料,略有不同! 小码哥swift3.0版 斗鱼项目视频:点击下载 iOS开发25个项目实战:点击下载 2016PHP全套下载:点击下载 黑马刀哥iOS视频精选 ...
- JavaScript学习笔记(持续更新)
函数有“定义式”和“变量式”两种写法的区别 函数有“定义式”和“变量式”两种写法,两者基本区别不大.主要区别在于,如果在同一个代码块(Script标签对)定义两个同名的函数,浏览器在预编译代码时,使用 ...
- SD.Team字符表情集大全(持续更新中..)
一.超级可爱的字符表情集 01. <( ̄︶ ̄)> 02. <( ̄︶ ̄)/ 03. b( ̄▽ ̄)d 04. 汗( ̄口 ̄)!! 05. ╮( ̄▽ ̄)╭ 06. ╰( ̄▽ ̄)╭ 07. ╮ ...
- HTML/CSS/JavaScript学习笔记【持续更新】
HTML <font> 标签 定义和用法 <font> 规定文本的字体.字体尺寸.字体颜色. 实例 规定文本字体.大小和颜色: <font size="3&qu ...
- phpstorm激活大全--持续更新(支持2018最新版)
方法一. 通过Licence Server 激活PHPStorm(快速) 方法原理是通过搭建服务器激活,不过网上有许多搭建好的. http://idea.goxz.gq http://v2mc.net ...
- linux相关命令大全......持续更新
启动项目8080端口被占用,然而老久没玩Linux,命令忘光了,杀死进程都不记得了. 决定整理一波吧....... Linux: sudo强制执行,不在root用户下时使用. top 相当于windo ...
- java视频教程 Java自学视频整理(持续更新中...)
视频教程,马士兵java视频教程,java视频 1.Java基础视频 <张孝祥JAVA视频教程>完整版[RMVB](东西网) 历经5年锤炼(史上最适合初学者入门的Java基础视频)(传智播 ...
- 【持续更新】JavaScript常见面试题整理
[重点提前说]这篇博客里的问题涉及到了了JS中常见的的基础知识点,也是面试中常见的一些问题,建议初入职场的园友Mark收藏,本文会持续更新~ 1. 引入JS的三种方式 1.在HTML标签中直接使用,直 ...
- ( 译、持续更新 ) JavaScript 上分小技巧(一)
感谢好友破狼提供的这篇好文章,也感谢写这些知识点的作者们和将他们整理到一起的作者.这是github上的一篇文章,在这里本兽也就只做翻译,由于本兽英语水平和编程能力都不咋地,如有不好的地方也请多理解体谅 ...
随机推荐
- VScode_Keter_自用
1.软件下载 支持win/linux/mac平台,安装有两种形式,根据个人喜好进行选择即可: 1.安装包 a.官网下载地址:https://code.visualstudio.com/ (速度慢) b ...
- 如果摄像头不支持Web Socket,猿大师播放器还能在网页中播放RTSP流吗?
问: 我们的情况比较复杂,摄像头设备品牌和数量都比较多,分布在全国各地都有,地点分布比较广泛,有的甚至是比较老的型号,如果摄像头设备不支持Web Socket,猿大师播放器还可以在网页中播放RTSP流 ...
- Charles抓包数据导入postman
Charles抓包数据导入postman 1.先抓取到对应的请求,右键,再点击Copy cURL Request,操作如下图所示: ...
- Shiro权限管理框架-@RequiresPermissions 注解 使用问题记录
背景: 需要在springboot项目里面用到shiro的权限管理,Shiro访问控制流程:先shiro认证(登录时调用) 然后 shiro授权,但是项目里面登录的功能用的公司统一的系统,所以需要&q ...
- 关于Android开发工具的下载之ADT篇
ADT的下载 首先可以选择下面推荐的两个网站去下载相应的安装包,网址如下: http://tools.android-studio.org/index.php/adt-bundle-plugin 或者 ...
- 关于两行代码让我时间无限拉长这件事------mainServlet
在再一次尝试实现增删改查的功能时,出现了一些BUG,修改功能一直实现不了,查了好久的资料,这才发现问题 如上图所示,这个Servlet里面定义的方法,虽然很短,但是重要的很奥,改了好久都没注意到这个问 ...
- 操作系统笔记<1>
操作系统的概念 指控制和管理整个计算机系统的硬件和软件资源,并合理地组织调度计算机的工作和资源的分配 以提供给用户和其他软件方便的接口和环境 是计算机系统中最基本的系统软件 操作系统的功能 (系统资源 ...
- new做了哪些事情,手写一个new
1)创建一个空对象,将构造函数中的this指向这个空对象 2)将空对象的__proto__指向构造函数的prototype原型 3)执行构造函数里面的代码,为这个空对象添加属性和方法 4)返回一个新的 ...
- 企业信息化-3.6 IT资源管理2-系统及应用
笔者从业的主要是App Dev&Ops,对操作系统有些了解,对应用软件了解的更多.以下是总结了以前跟Host&Server Service.Cloud Service.IT Solut ...
- 【原创】Ubuntu Pro 中的RealTime linux(Real-time Ubuntu/PREEMPT-RT/ubuntu官方PREEMPT-RT)
[原创]Ubuntu Pro 订阅中的realtime linux(Real-time Ubuntu/PREEMPT-RT) 目录 [原创]Ubuntu Pro 订阅中的realtime linux( ...