2017-03-18 104 views
1

我想知道是否可以使用qx.ui.container.Scroll或任何内部可滚动组件(例如,)来调整qooxdoo应用程序中的滚动灵敏度。 qx.ui.table.Table调整qooxdoo滚动速度/灵敏度

我在运行Sierra 10.12.3的MacBook Pro上遇到的情况是使用触控板的快速滚动速度,而且它似乎仅适用于基于qooxdoo的应用程序,这使得它们非常难以使用。尝试了不同的浏览器,其结果相似(Chrome,Safari,...)。

作为示例,请打开API browser并滚动左侧的浏览API树。

+0

顺便说一句,正如我所记得的那样,MacOS sierra改变了由系统交付给应用程序的鼠标滚轮事件。它打破了很多东西,包括在Java应用程序中滚动或本机终端应用程序本身。这可能是相关的,并且qooxdoo代码可能需要对此进行一些调整。 –

回答

1

Qooxdoo在浏览器平台上做了一些努力来标准化鼠标轮增量。在OSX上的触控板上的两个手指轻扫手势似乎暴露为safari的车轮事件,这可能不是最佳的标准化。由转动一个真正的鼠标滚轮造成的鼠标滚轮事件似乎不会引起炫目的滚动速度。

其中正常化发生位于https://github.com/qooxdoo/qooxdoo/blob/master/framework/source/class/qx/util/Wheel.js

正常化例程不暴露作为API和不可配置的代码。为了解决这个问题,需要调整规范化代码。

这将是最好在GitHub的问题跟踪在https://github.com/qooxdoo/qooxdoo/issues

这里打开一个问题这是一个倒写的事件类型和增量控制台鼠标滚轮事件的jsfiddle。这可能是一个起点,在不同平台上调查轮事件的增量值: http://jsfiddle.net/mfe8J/77/

function wheelSpeed(event) { 
    var delta; 
    if (event.wheelDelta) { 
     delta = event.wheelDelta; 
    } else { 
     delta = event.deltaY ? event.deltaY : event.detail; 
    } 
    console.log("event type: "+ event.type + ", delta: " + delta); 
    return delta; 
} 
window.addEventListener('mousewheel', wheelSpeed); 
window.addEventListener('wheel', wheelSpeed); 

一种溶液或最好pull请求其解决问题的建议,将不胜感激和欢迎。