文档章节

jquery的mCustomScrollbar滚动条创建在ie8下报frameElement的相关错

Edik
 Edik
发布于 2016/06/14 14:39
字数 289
阅读 246
收藏 1

在ie8下如果一个页面嵌套一个包含mCustomScrollbar滚动条

那么如果推动滚动条就会报

无法获取未定义或 null 引用的属性“frameElement”

的错误 。

搜索一下代码

var o=t.type,a=t.target.ownerDocument!==document?[e(frameElement).offset().top,e(frameElement).offset().left]:null,n=W()&&t.target.ownerDocument!==top.document?[e(t.view.frameElement).offset().top,e(t.view.frameElement).offset().left]:[0,0];

修改行为

var myView = t.view||window;var o=t.type,a=t.target.ownerDocument!==document?[e(frameElement).offset().top,e(frameElement).offset().left]:null,n=W()&&t.target.ownerDocument!==top.document?[e(myView.frameElement).offset().top,e(myView.frameElement).offset().left]:[0,0];

问题就解决了

问题主要是处在

t.view.frameElement

作者的意图很明显就是想要找到引用页面的iframe元素,所以作者试图通过event的view属性获取当前的页面对象,

但是很可惜IE8 event的view属性是undefined,所以程序出错。

既然作者只是为了找到当前的window,那么代码完全可以改为

var myView = t.view||window;

意思很明显就是有view就用view没有就用window。

问题就这样解决了。

本文转载自:

共有 人打赏支持
Edik
粉丝 9
博文 27
码字总数 3639
作品 0
济南
程序员
私信 提问
js原生的window.innerWidth jQuery有替代方法吗

window.innerWidth是获取浏览器包括滚动条的宽度 好像这个在ie8无效。 jquery我查了一下好像没有什么获取浏览器宽度(包含滚动条宽度)的方法。 $(window).widht();$(window).outerWidht(tru...

深山大萝卜
2016/05/15
523
2
mCustomScrollbar 鼠标无法滚动

网页中设置了 jQuery custom content scroller 后,发现鼠标无法滚动了,可以拖动滚动条进行上下滚动,在线等各位大牛解释哈,谢谢了!

Xiaopeng
2014/08/17
887
2
使用原生的 javascript 来替代 jquery

JSON JQUERY $.getJSON('/my/url', function(data) { }); IE9+ var request = new XMLHttpRequest(); request.open('GET', '/my/url', true); request.onload = function() { if (request.st......

蜗牛奔跑
2015/07/01
0
0
19个带示例的jQuery滚动条插件

1、NiceScroll:可用于桌面、移动与触摸设备的jQuery滚动插件 NiceScroll是一个jQuery插件(since 1.5),它有着类似于ios/移动设备的样式。它支持Div、iFrame、一个body的滚动条效果。适用于...

彭博
2012/11/27
2K
0
19个带示例的jQuery滚动条插件

1、NiceScroll:可用于桌面、移动与触摸设备的jQuery滚动插件 NiceScroll是一个jQuery插件(since 1.5),它有着类似于ios/移动设备的样式。它支持Div、iFrame、一个body的滚动条效果。适用于...

彭博
2012/07/25
51K
14

没有更多内容

加载失败,请刷新页面

加载更多

容器之Zookeeper的使用

我们使用zookeeper时,都是在Linux上安装zookeeper,之后启动时要加入配置文件。 使用docker之后,我们可以直接使用镜像运行容器,镜像可以从docker.hub上下载,地址是https://hub.docker.co...

克虏伯
23分钟前
0
0
esxi 更换ssl证书

概述 就是想换一个证书而已,你可以通过下面的途径去申请一个泛解析域名的证书之后再esxi上安装上 使用阿里云域名api申请Let’s Encrypt泛域名免费ssl证书 申请完成证书之后进行下一步 操作 ...

bboysoulcn
36分钟前
1
0
PLC编程入门:梯形图

梯形图(LAD)是PLC编程的最佳可视化语言,它看起来非常类似于继电器电路图,因此如果 你对继电器控制和电子电路有所了解的话,那么学起来会非常容易! 在这个教程中,我们将学习关于使用梯形...

汇智网教程
39分钟前
1
0
Kubernetes 1.13.0的快速升级

Kubernetes 1.13.0已经正式发布,快速升级(含国内镜像快速下载链接)包括升级kubeadm/kubectl/kubelet版本、拉取镜像、升级Kubernetes集群三个主要步骤。注意Kubernetes 1.13.0版本暂时不支...

openthings
52分钟前
2
0
go的卸载和环境变量配个人.bashrc

若是用安装包直接解压 http://download.csdn.net/detail/u010026901/7592581 cd /usr/local tar -zxvf go1.1.2.linux-386.tar.gz(先把安装包移到这个目录) 3.安装 $ cd go/src,$ ./all.b......

dragon_tech
58分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部