2012-11-24 22 views
1

http://www.associationtsunami.org/网站上,如果我在文档上创建mousedown,则根据用户移动鼠标的方向旋转多维数据集。禁用滚动条上的mousedown绑定事件

代码:

key code ... 
).bind('mousedown touchstart', function (evt) { 
     delete mouse.last; 
     if ($(evt.target).is('a, iframe')) { 
      return true; 
     } 
     evt.originalEvent.touches ? evt = evt.originalEvent.touches[0] : null; 
     mouse.start.x = evt.pageX; 
     mouse.start.y = evt.pageY; 
     $(document).bind('mousemove touchmove', function (event) { 
      dragging = 1; 
      // Only perform rotation if one touch or mouse (e.g. still scale with pinch and zoom) 
      if (!touch || !(event.originalEvent && event.originalEvent.touches.length > 1)) { 
      event.preventDefault(); 
      // Get touch co-ords 
      event.originalEvent.touches ? event = event.originalEvent.touches[0] : null; 
      $('.viewport').trigger('move-viewport', { x: event.pageX, y: event.pageY }); 
      } 
     }); 
     $(document).bind('mouseup touchend', function() { 
      dragging = 0; 
      $(document).unbind('mousemove touchmove'); 
     }); 
     }); 

全码https://github.com/AssociationTsunami/tsunami/blob/gh-pages/js/cube.js#L72

我想禁用此事件,如果用户对鼠标按下一个滚动条 - 例如'ONSONPARLA页面上有一个用ACCORDIONS制作TAB,如果您打开任何手风琴内容,您会在边缘或手风琴内获得滚动条,并且如果您尝试移动滚动条,则也会移动立方体。

在cube.js中覆盖此方法的正确方法是什么,以便在事件位于滚动条元素上时多维数据集不会打开?

+0

这是完全无关你的问题,而只是一个友情提示:不要用花哨的东西就像在你的界面旋转的立方体。具有良好印刷和低色调的低调界面是WAAAYY比3D旋转更重要。 '' –

+0

本页面伤害了我的感情:) –

+0

你真的没有学到很多东西,如果你只是一味地以同样的老低调界面! – khinester

回答

0

它不能以这种方式来完成。

但有一个替代的解决方案。使用一些自定义滚动条插件来取代传统的滚动条。你将能够阻止他发生的事件。我知道这不是一个很好的解决方案,但根据你喜欢的网页抓住机会。 :)

Here你可以找到几个很好的插件。

好的插件示例是here