Jquery IE中div元素未触发滚动事件

Jquery IE中div元素未触发滚动事件,jquery,asp.net,Jquery,Asp.net,我已经尝试了我所能想到的一切,以便在滚动div标记时触发此事件。我确保它确实达到了这个代码,而且确实达到了。但它在滚动时从不触发。我也试过使用.scroll。。。和.绑定“卷轴”。。。你有什么想法吗 $('.ScrollIEContainer').scroll(function () { var scrollPos = $(this).scrollTop(); if (scrollPos != null && scrollPos != undefined) {

我已经尝试了我所能想到的一切,以便在滚动div标记时触发此事件。我确保它确实达到了这个代码,而且确实达到了。但它在滚动时从不触发。我也试过使用.scroll。。。和.绑定“卷轴”。。。你有什么想法吗

$('.ScrollIEContainer').scroll(function ()
{
   var scrollPos = $(this).scrollTop();
   if (scrollPos != null && scrollPos != undefined)
   {
      $(this).contents('table.GridView').children('thead').children('tr').css({ 'top': scrollPos + 'px' });
   }
});
这里的目标是更新我的网格视图中标题的顶部位置,以实现固定的标题滚动

更新: 由于某种莫名其妙的原因,除了alert语句之外,我一直无法调试任何代码,但我能够调试并使用watch窗口检查选择器元素,方法是在其前面插入一行代码,这将导致空引用异常WTF。总之,我查看了元素中的dom,在执行上述代码后,onscroll事件是null事件。

jQuery的live不支持滚动

您的元素是动态添加的吗

编辑:


将$this.topScroll更改为$this.scrollTop

这里是一个使用div的工作示例。请注意,标题位置相对于其父项。你们的问题可能仅仅在于thead并没有对这种定位做出反应

<html>
<head>
    <style type="text/css">

        .fixed-div {
            width: 200px;
            height: 100px;
            background-color: grey;
            overflow: auto;
        }

        .header {
            text-align: center;
            width: 100%;
            height: 20px;
            background-color: red;
            position: relative;
        }
    </style>

    <script type="text/javascript" src="jquery-1.4.4.min.js"></script>
    <script type="text/javascript">

        $(document).ready(function () {
            $(".fixed-div").scroll(function(event) {
                var y = $(this).scrollTop();
                var x = $(this).scrollLeft();
                $(".header").css({
                    top: y,
                    left: x
                });
            });

        });

    </script>
</head>

<body>
    <div class="fixed-div">
        <div class="header">Header</div>
        <ul>
            <li>0</li>
            <li>1</li>
            <li>2</li>
            <li>3</li>
            <li>4</li>
            <li>5</li>
            <li>6</li>
        </ul>
    </div>

</body>

</html>

什么是topScroll函数?那应该是scrollTop吗?您确定在scroll上的js控制台中没有出现错误吗?@jball-topScroll是jquery api的一部分。它是ScrollTopDOM属性。代码没有错误。@jball我误读了你的要求,哈哈。你说的那部分我都没读过。。它应该是scrollTop,我只是轻轻松松地想了想你在问更多关于代码的问题=@jball it is fricken出于某种莫名其妙的原因让bc感到沮丧javascript引擎甚至不让我调试这段代码。。。我不得不求助于警觉的声明。@Matthew Cox这一切都很好——我们都会时不时地盯着代码发呆。我以前也犯过类似的错误。@tnc认为它不受支持,但它不是动态添加的,所以我不应该真的需要它处于活动状态。@tnc我将两行代码都编辑为您现在在我的OP中看到的内容。。。它仍然没有开火=你是否尝试过警告scrollTop是什么或控制台-并验证它是否已设置?@tnc在我到达该点之前。。。谨慎的做法是,找出如何纠正它不触发scroll事件=D$'.ScrolleContainer.scrollfunction不触发它的问题?如果没有,您可以发布代码的JSFIDLE吗?