0

我在IE8中有一个奇怪的问题。我在一个区域有一堆div。每个div具有相同的结构。这是基本结构。IE8中的奇怪滚动问题

<div class="brandImage"> 
    <div style="display:none;"> 
     <a><img/></a> 
     <div><a href="/different/page.aspx"><span>See More</span></a></div> 
    </div> 
</div> 

每个brandImage div有一个上悬停听者这将给内的div一个display:block陶醉图像并允许用户通过点击。

所有这些“瓷砖”都包含在具有设置高度的div中,并且可以使用jquery.mCustomScrollbar插件进行滚动。

它适用于折叠上方的所有拼贴,但是,当您开始在折叠下方向下滚动时,如果单击其中一个拼贴,则mousedown将导致容器向上滚动。如果容器不需要滚动很远,或者释放鼠标按键足够快以完成点击,它将起作用。

我的问题是什么可能导致mousedown事件向上滚动?

+0

那么,与默认滚动条行为搞乱是_sking trouble_。除此之外:请至少举一个现场示例。 – CBroe

+0

@CBroe是的。但设计师坚持说。 – DFord

回答

0

该插件默认滚动焦点。在focusin上调用的函数。这是滚动容器。这是来自插件的代码。

/*scrolling on element focus (e.g. via TAB key)*/ 
     if($this.data("autoScrollOnFocus")){ 
      if(!$this.data("bindEvent_focusin")){ 
       mCustomScrollBox.bind("focusin",function(){ 
        mCustomScrollBox.scrollTop(0).scrollLeft(0); 
        var focusedElem=$(document.activeElement); 
        if(focusedElem.is("input,textarea,select,button,a[tabindex],area,object")){ 
         var mCSB_containerPos=mCSB_container.position().top, 
          focusedElemPos=focusedElem.position().top, 
          visibleLimit=mCustomScrollBox.height()-focusedElem.outerHeight(); 
         if($this.data("horizontalScroll")){ 
          mCSB_containerPos=mCSB_container.position().left; 
          focusedElemPos=focusedElem.position().left; 
          visibleLimit=mCustomScrollBox.width()-focusedElem.outerWidth(); 
         } 
         if(mCSB_containerPos+focusedElemPos<0 || mCSB_containerPos+focusedElemPos>visibleLimit){ 
          $this.mCustomScrollbar("scrollTo",focusedElemPos,{trigger:"internal"}); 
         } 
        } 
       }); 
       $this.data({"bindEvent_focusin":true}); 
      } 
     } 

当我初始化插件,我设置autoScrollOnFocus为假,也没有问题。