我正在使用handontable的评论和滚动功能,但在滚动时会导致评论的错误定位。
以下是jsfiddle代码
请滚动然后悬停以进行评论,它会显示评论div超出其位置。
对象属性:
data: getData(),
rowHeaders: true,
colHeaders: true,
minSpareRows: 1,
contextMenu: true,
comments: true,
我希望它在没有滚动的情况下应该是相同的。
答案 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);