SlickGrid V2列调整大小触发器排序

时间:2013-05-08 15:43:19

标签: javascript jquery alert slickgrid

这可能是一个神器,但它在我转换到SlickGrid V2之后构建的几个Grids中是可重现的(仅限IE)(在以前的版本中从未见过)。当用户调整列的大小时,Resort方法也会触发,当然,它会对列进行调整 我也这样做了(没有效果):

grid.onColumnsResized.subscribe(function(e, args) {
    e.stopImmediatePropagation();
    e.stopPropagation();
    // alert('resized');
    return false;
});

但是,当我加入警报时...一切正常(无法求助)。所以......我认为这是一个时间问题。我设置了一个假的2秒计时器(除了时间之外什么也没做)并且也没有效果(仍然是度假村)。 有人可以解释发生了什么以及为什么alert似乎允许一切正常工作。无论我使用当地度假村还是默认的SlickGrid Resort方法,都无所谓。

由于

1 个答案:

答案 0 :(得分:1)

基本上问题是IE在调整大小时会触发列上的单击事件。如果鼠标悬停时光标下方有一个列标题,则将使用该列。

对于警报框有用的原因,浏览器事件按特定顺序触发。在IE中,dragend(触发onColumnsResized)在点击之前被触发(触发一个度假胜地)。因为它们的类型不同,停止传播不会做任何事情,但是弹出警告框可能会阻止重影点击在列标题上注册。

这是应该在SlickGrid库中解决的问题,而不是使用它的代码。