【发布时间】:2011-07-26 08:07:00
【问题描述】:
我有一个可滚动的 div(主页没有滚动条)和一个可滚动内容中的 jQuery UI 按钮。在 IE6 和 IE7 中,按钮不会随着 div 的内容滚动,如果您将鼠标放在它不正确的位置时,它会做一些有趣的事情。
这是一个例子(jQuery 1.5 包含在标题中):
<link rel="stylesheet" type="text/css" href="Lib/jquery-ui-1.8.10.custom.min.css" />
<script type="text/javascript" src="Lib/jquery-1.5.min.js"></script>
<script type="text/javascript" src="Lib/jquery-ui-1.8.10.custom.min.js"></script>
<div style="width: 400px; height: 300px; overflow: scroll;">
<div style="width: 400px; height: 1200px;">
Hello world<br /><br />
<a href='#' id='test'>test button</a>
</div>
</div>
<script>
$('#test').button();
</script>
我找到了一种解决方法,但它并不完美;我捕捉到滚动事件并在按钮元素上调用.button('enable')(出于某种原因.button('refresh') 没有做任何事情)。它使按钮正确滚动,但现在按钮在滚动时显示在 div 之外(它向上滚动到 div 的顶部并且仍然可见)。代码如下:
<link rel="stylesheet" type="text/css" href="Lib/jquery-ui-1.8.10.custom.min.css" />
<script type="text/javascript" src="Lib/jquery-1.5.min.js"></script>
<script type="text/javascript" src="Lib/jquery-ui-1.8.10.custom.min.js"></script>
<div class='scrollingDiv' style="width: 400px; height: 300px; overflow: scroll;">
<div style="width: 400px; height: 1200px;">
Hello world<br /><br />
<a href='#' id='test' class='scrollingButton'>test button</a>
</div>
</div>
<script type="text/javascript">
$(function(){
$('#test').button();
$('.scrollingDiv').scroll(function() {
$('.scrollingButton').button('enable');
});
});
</script>
【问题讨论】:
-
方法“按钮”在哪里定义?据我所知,它不是 jQuery 的一部分。
-
在jQueryUI中(从代码中看不清楚,但在第一句话中提到了)
-
嗯。奇怪,我在我的小提琴中添加了 jQueryUI,但没有按钮支持。 jsfiddle.net/bhofmann/9pPa8
-
我们也有同样的问题,影响 IE6 和 7 - 如果我们不必支持它们的话......
标签: jquery internet-explorer jquery-ui internet-explorer-7 internet-explorer-6