时创优服 | JavaScript 事件兼容性问题整理(二)

常见兼容 IE、 FF、 Google Chrome

官网地址:http://www.bjtces.com

导读:在学习或者使用javascript的过程中,最为痛苦的就是浏览器兼容问题

1、Event对象

window.event (IE) ev(标准浏览器)

解决办法例子:

document.onclick = function(ev){

var ev = ev|| window.event;

alert(ev);

}

2、JavaScript原生获取滚动距离

document.documentElement.scrollTop(标准浏览器)

document.body.scrollTop (Google Chrome)

解决办法

var scrollTop = document.documentElement.scrollTop || document.body.scrollTop;

3、FF浏览器下有空DIV的时候出现bug

解决办法:在拖拽的方法里面加上以下代码

return false;//阻止默认事件

4、 滚轮事件:

onmousewheel (IE、Google) DOMMouseScroll(FF) wheelDelta 滚轮属性(IE、Google) detail滚轮属性(FF)

阻止默认事件:绑定写法:preventDefault

window.onload = function() {

var item = document.getElementById('example');

if (item.addEventListener) {

item.addEventListener('DOMMouseScroll', fn, false); //FF三个参数

}

item.onmousewheel = fn;

function fn(ev) {

var ev = ev || event;//event 事件兼容处理

var flag = false;

if (ev.wheelDelta) {

flag = ev.wheelDelta < 0 ? false : true;

}else{

flag = ev.detail > 0 ? false : true;

}

if (flag) {

item.style.height = item.offsetHeight - 10 + 'px';

}else {

item.style.height = item.offsetHeight + 10 + 'px';

}

//阻止绑定事件

if (ev.preventDefault) {

ev.preventDefault();

}else{

//阻止普通事件

return false;

}

}

}

5、监听事件兼容性问题

在 IE6 和FF 浏览器出现 IE6 特殊对待:对象.attachEvent(事件名, 函数) IE6 解绑:对象.detachEvent(事件名, 函数) FF以及标准浏览器:对象.addEventListener(事件名,函数,是否捕获 true || false) IE下绑定事件this指向window

HTML5 CSS3 JavaScript

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 事件源对象 event.srcElement.tagName event.srcElement.type 捕获释放...
    孤魂草阅读 904评论 0 0
  • 一、DOM 什么是DOM?Document Object Model(文档对象模型)。DOM是针对HTML和XML...
    空谷悠阅读 986评论 0 2
  • 0. HTML对象获取问题 3 0. const问题 3 0. event.x与event.y问题 3 0. wi...
    赵长安啊阅读 552评论 0 0
  • 前端开发面试知识点大纲: HTML&CSS: 对Web标准的理解、浏览器内核差异、兼容性、hack、CSS基本功:...
    秀才JaneBook阅读 2,491评论 0 25
  • 这个星期,我读了笑猫日记中的绿狗山庄。 主要讲了:当秋天来的时候 ,球球老老鼠...
    杨艺萱阅读 202评论 0 1