您好!经调研,确系SpreadJS和MS Excel的一个差异点,这个功能已经存在很多年了,如前所述,其存在必有其合理性。
针对您的需求场景,提供如下所述方案:
1. 对window监听mousewheel事件,以监听鼠标滚动事件。
2. 判断当前sheet是否为编辑状态。
3. 如果当前sheet处于编辑状态,则先令spread实例失焦,即退出编辑,然后再对其聚焦,方能结合鼠标滚动同步滚动页面。
可以参考如下代码:
- window.addEventListener('mousewheel', function(event) {
- if (spread.getActiveSheet().isEditing()) {
- console.log('鼠标滚动:', event.wheelDelta);
- // 令spread实例失焦
- spread.focus(false);
- // 令spread实例聚焦,以同步鼠标滚动
- spread.focus(true);
- }
- });
复制代码
上述代码执行效果如下动图所示,虽然上述代码可以帮助在编辑单元格时滚动鼠标以滚动页面,但是正在被编辑的单元格也将退出编辑。综上所述,需要您自行评估下是否能满足您的需求。
|