ie低版本内核事件兼容问题(事件绑定,绑定事件自动执行,文档模式问题)
问题情况
搜狗等,兼容模式下,以前前端写的点击事件的代码没有,
后来一看是因为兼容模式为9,导致点击事件失效
解决办法,步骤
1,处理绑定事件兼容问题
ie低版本绑定事件只支持attactevent,所以先写个兼容的事件绑定函数
function myEve(ele,evetype,fn,uc){
var eledoc = document.getElementById(ele)
if(eledoc.addEventListener){
eledoc.addEventListener(evetype,fn,uc)
}else if(eledoc.attachEvent){
eledoc.attachEvent('on' + evetype, fn)
}
};
2,
function a(id){
var elec = document.getElementById(id)
if(elec.className.indexOf('sso') > 0){
elec.className = elec.className.slice(0,-3) + 'mmo';
}else{
elec.className = elec.className.slice(0,-3) + 'sso';
}
}
myEve('linedesign','click',a('linedesign'),false);//一开始直接使用这样的代码在载入页面时,事件便自己执行一次,而且无法继续点击效果,此处需要将事件处理函数,不传参数,就不会自己执行,改为下面一段
myEve('linedesign','click',function a(){
var elec = document.getElementById('linedesign')
if(elec.className.indexOf('sso') > 0){
elec.className = elec.className.slice(0,-3) + 'mmo';
}else{
elec.className = elec.className.slice(0,-3) + 'sso';
}
},false);//最后改成了这样,暂时能用
3,这些改完后,发现回到ie内核下还是需要手动修改一次文档模式,再次刷新,才能在ie7,8,9下绑定到点击事件
4,继续解决,
此时在header标签中加入
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
不用手动修改文档模式,即可绑定事件执行。
这些都是暂时实现了,有些原理没太明白,有知晓的网友,请不吝赐教,谢谢!
ie低版本内核事件兼容问题(事件绑定,绑定事件自动执行,文档模式问题)的更多相关文章
- 通过<meta>标签指定IE的文档模式实现CSS3兼容
今天发现之前做好的一个页面在IE中打开显示的效果不正常,本地和服务器上显示的是两种不同的样式. 经过确认文档内容和CSS都是一样的. 通过IE F12(开发人员工具)发现不正常的样式 浏览器文档模式自 ...
- 设置IE浏览器文档模式版本
浏览器版本问题是所有开发web的程序员共同的诟病,尤其是IE浏览器,笔者上次修改公司的一个项目中出现项目是在IE9没有出来之前,而现在修改时,则发现页面上出现的表格的错乱(因为表格是通过js动态生成的 ...
- 高版本api在低版本中的兼容
直接上例子,看如何避免crash. eg:根据给出路径,获取此路径所在分区的总空间大小. 文档说明:获取文件系统用量情况,在API level 9及其以上的系统,可直接调用File对象的相关方法,以下 ...
- 解决ie 低版本的 background-size 兼容问题
在IE不支持这个属性的时候可以通过滤镜来实现这样的一个效果. div{background-size: cover;filter:progid:DXImageTransform.Microsoft.A ...
- 人艰不拆之破解低版本IE不兼容mediaQuery
先放个链接 大家预览下 http://scottjehl.github.io/Respond/test/test.html 值得注意的是 将页面源代码下载到本地时,直接用IE打开是没有效果的.需要把静 ...
- ABP vNext EventBus For RabbitMQ 分布式事件总线使用注意事项_补充官网文档
[https://docs.abp.io/zh-Hans/abp/latest/Distributed-Event-Bus-RabbitMQ-Integration](ABP vNext官方文档链接) ...
- 定义文档兼容性,让IE按指定的版本解析我们的页面
作为开发人员,特别是作为Web的前端开发人员 ,最悲催的莫过于要不断的,不断的去调试各种浏览器的显示效果,而这其中最让人头痛的莫过于MS下的IE系列浏览器,在IE系列中的调试我们将会发现没有一个是好伺 ...
- 文档兼容性定义,使ie按指定的版本解析
作为开发人员,特别是作为Web的前端开发人员 ,最悲催的莫过于要不断的,不断的去调试各种浏览器的显示效果,而这其中最让人头痛的莫过于MS下的IE系列浏览器,在IE系列中的调试我们将会发现没有一个是好伺 ...
- 【移动端兼容问题研究】javascript事件机制详解(涉及移动兼容)
前言 这篇博客有点长,如果你是高手请您读一读,能对其中的一些误点提出来,以免我误人子弟,并且帮助我提高 如果你是javascript菜鸟,建议您好好读一读,真的理解下来会有不一样的收获 在下才疏学浅, ...
随机推荐
- Git安装与仓库搭建
yum install git-all cd /srv git init --bare net_server.git git remote - v git remote add server root ...
- 20155324《网络对抗技术》web安全基础实践
20155324<网络对抗技术>web安全基础实践 实验内容 使用webgoat进行XSS攻击.CSRF攻击.SQL注入 实验问答 SQL注入攻击原理,如何防御 ①SQL注入攻击是攻击者在 ...
- echarts笔记
常见问题: 1.x轴和y轴type同时为category时不可行 只能改变方式显示,返回不同名称,如加上百分比显示 formatter:"value%"; var waterLev ...
- ccf 201503-5 最小花费 这题交上去只有10分嗨!求大佬的题解啊
问题描述 C国共有n个城市.有n-1条双向道路,每条道路连接两个城市,任意两个城市之间能互相到达.小R来到C国旅行,他共规划了m条旅行的路线,第i条旅行路线的起点是si,终点是ti.在旅行过程中,小R ...
- Codeforces Round #527 (Div. 3) C. Prefixes and Suffixes
题目链接 题意:给你一个长度n,还有2*n-2个字符串,长度相同的字符串一个数前缀一个是后缀,让你把每个串标一下是前缀还是后缀,输出任意解即可. 思路;因为不知道前缀还是后缀所以只能搜,但可以肯定的是 ...
- IDEA配置github并上传项目
https://www.cnblogs.com/jinjiyese153/p/6796668.html
- 各种手工DIY
http://www.guokr.com/scientific/subject/diy/ 高仿宜家莲花灯 http://www.guokr.com/article/179863/ 做一只会发光的魔幻吊 ...
- @validated 验证 List 参数在spring中
@PostMapping(value = "complete") public Vo complete(@Valid @RequestBody @Validated(Complet ...
- linux部署dns内网服务器
安装: yum -y install bind* 编辑named.conf vim /etc/named.conf options { listen-on port { any; }; listen- ...
- STM32F0使用LL库实现Modbus通讯
在本次项目中,限于空间要求我们选用了STM32F030F4作为控制芯片.这款MCU不但封装紧凑,而且自带的Flash空间也非常有限,所以我们选择了LL库实现.本篇将说明基于LL实现USART通讯. 1 ...