0

我有一个页面,里面有很多可滚动的容器。所有这些容器都包含一些列表左右。除了 IE7(在 IE6 及以下版本中测试过)之外,一切在所有浏览器中都能完美运行。在 IE7 中,当我尝试通过单击滚动条进行滚动时,它没有发生。但是如果我双击滚动条,那么我将把焦点放在滚动条上,我就可以滚动了。鼠标滚轮滚动效果很好。

我的页面中有很多 jquery 插件,例如 datatable、jquery UI、autosuggest 等。

当我在浏览器中禁用脚本时,滚动工作正常。

对正在发生的事情有任何想法吗?(作为 ie7 问题)

4

5 回答 5

2

未捕获的 javascript 错误可能是您的问题的原因。尝试使用 try...catch,例如

try {
  //any questionable JS code
} catch(err){
  alert(err.message);
}

如果有任何错误,那应该让你知道。

于 2013-04-30T21:40:16.210 回答
0

似乎有一个额外的点击事件或阻止滚动条的东西,尝试在这些元素上使用 $(...).unbind('click') 。

于 2013-05-03T15:33:53.367 回答
0

在没有看到您的代码的情况下,我只能猜测您的页面在 ie7 中引发了 javascript 错误。有一些 javascript 函数在 ie7 中不起作用(例如 getElementsByClassName ,它之前已经让我失望了)。我建议在 ie 开发人员工具或其他调试工具中调试 javascript 以找出问题所在。

于 2012-08-02T06:30:55.503 回答
0

如果我们可以使用插件:

http://jscrollpane.kelvinluck.com/

我们可以轻松解决跨浏览器滚动窗格的问题。

于 2013-05-07T16:20:35.860 回答
0

某些版本的 IE 对非严格语法具有气质,例如,如果您缺少 ; 某处。一种选择是通过jslint运行您的代码,但如果您的代码组织不当,这可能会很棘手。

如果您有 IE9,您应该能够通过按 F12 检查错误,将版本回滚到 IE7 并监控控制台输出。

反复试验可能是答案,如果您的所有代码都只是 1 个大块,那么我建议首先将其重新分解为可管理的块(类方法)。

祝你好运。

于 2013-05-07T12:48:56.020 回答