评论定位问题在掌上电脑

时间:2015-02-25 12:25:50

标签: javascript css handsontable

我正在使用handontable的评论滚动功能,但在滚动时会导致评论的错误定位。

以下是jsfiddle代码

请滚动然后悬停以进行评论,它会显示评论div超出其位置。

对象属性:

    data: getData(),   
    rowHeaders: true,
    colHeaders: true,
    minSpareRows: 1,
    contextMenu: true,
    comments: true,

我希望它在没有滚动的情况下应该是相同的。

2 个答案:

答案 0 :(得分:0)

问题是一个错误 placeCommentBox。这是一个错误的offSet位置

基于此post,我修改了handsontable.full.js。placeCommentBox函数应该如下所示:

 placeCommentBox = function (range, commentBox) {
  var TD = instance.view.wt.wtTable.getCell(range.from),
   // wrong offset offset = Handsontable.Dom.offset(TD),
    lastColWidth = instance.getColWidth(range.from.col);
    var rect = TD.getBoundingClientRect();
    var docEl = document.documentElement;
    var rectTop = rect.top + window.pageYOffset - docEl.clientTop;
  commentBox.style.position = 'absolute';
  commentBox.style.left = offset.left + lastColWidth + 'px';
  commentBox.style.top = rectTop + 'px';
  commentBox.style.zIndex = 2;
  bindMouseEvent(range, commentBox);
},

您可以修改文件或等待修复错误。

答案 1 :(得分:0)

修改handsontable.full.js - > refreshEditorPosition: function()

在设置编辑位置之前,只需添加window.pageXOffset

// offset bug
x += window.pageXOffset;
this.editor.setPosition(x, y);