2017-03-18 117 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請求其解決問題的建議,將不勝感激和歡迎。