文档章节

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

Edik
 Edik
发布于 2016/06/14 14:39
字数 289
阅读 244
收藏 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
济南
程序员
使用原生的 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
IE AJAX 返回 undefined

先说故事,再说想法吧。 我有一朋友做网站,用jQuery的Ajax方法从后端载入一段HTML代码然后动态插入到网页的Div元件中。这个东西太普遍了。jQuery强大的load方法可以完成这个事情。朋友的代码...

akulubala_
2012/12/13
0
3
BOM中计算元素相关尺寸或偏移量的方式汇总

获取元素的尺寸或者获取元素的相对位置是前端开发中常见的操作,记得之前在其他博客中经常见到一张图来说明各属性所代表的意义,不过那图有点小,看着有点累。本文以列表和代码段的形式总结了...

leozdgao
2015/05/14
0
0
jQuery对表单、表格的操作及更多的应用

jQuery对表单、表格的操作及更多的应用 1 表单应用 一个表单有3个基本组成部分。 (1) 表单标签:包含处理表单数据所用的服务器端应用程序URL以及数据提交到服务器的方法 (2) 表单域:包含文本...

zhangda89
2011/10/07
0
0
GBin1分享的8个图片360度旋转展示的jQuery插件

日期:2011/11/02 原文:jquery4u.com 编译:GBin1.com 今天分享8个可以帮助你360度旋转显示图片的jQuery插件,这些插件能帮助你更好的提供图片商品的浏览体验。一旦你用上,肯定会喜欢的! ...

gbin1
2011/11/02
0
0

没有更多内容

加载失败,请刷新页面

加载更多

深入理解OAuth2.0协议

1. 引言 如果你开车去酒店赴宴,你经常会苦于找不到停车位而耽误很多时间。是否有好办法可以避免这个问题呢?有的,听说有一些豪车的车主就不担心这个问题。豪车一般配备两种钥匙:主钥匙和泊...

xtof
28分钟前
1
0
Linux学习-0920

3.4 usermod命令 3.5 用户密码管理 3.6 mkpasswd命令 一、usermode命令 usermode作用是用来修改用户信息。 方法: usermod 参数 username 示例1:修改用户uid usermod -u 1010 test5 示例2...

wxy丶
38分钟前
1
0
synchronized锁对象的坑

今天本来写点其他东西,碰巧写了一下synchronized,没想到掉坑里面了,大佬别笑。 起初代码大概是这样的: package com.ripplechan.part_1_2_3;import java.util.concurrent.CountDownL...

RippleChan
41分钟前
1
0
XAMPP环境搭建(Apache + MariaDB + PHP + Perl)

operation system:ubuntu-18.04.1 step1:download XAMPP #sudo wget https://www.apachefriends.org/xampp-files/7.2.9/xampp-linux-x64-7.2.9-0-installer.run step2:install XAMPP #sudo ......

硅谷课堂
43分钟前
0
0
关于获取3DS MAX中的蒙皮数据 3DSMAX C++API的应用

目的是为OSG做自定义的导出插件. 记录取得数据的方法. Max在代码中会提供一个INode对象. 从这个对象里取出各种数据. getSkin这个函数取出了ISkin修改器 下面这个函数一样是用于学习, 把数据输...

洛克人杰洛
49分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部