【问题标题】:SlickGrid V2 column Resize triggers SortSlickGrid V2 列调整大小触发器排序
【发布时间】:2013-05-08 15:43:19
【问题描述】:

这可能是一个人工制品,但它在我切换到 SlickGrid V2 后构建的几个网格中非常可重现(仅 IE)(在以前的版本中从未见过)。当用户调整列大小时,Resort 方法也会触发,这当然会重新调整列。
我也这样做了(没有效果):

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

但是,当我包含警报时...一切正常(没有办法)。所以...我认为这是一个时间问题。我设置了一个错误的 2 秒计时器(除了时间什么都不做),也没有任何效果(仍然有效)。 有人可以解释发生了什么以及为什么alert 似乎允许一切正常工作。我使用本地的 Resort 还是默认的 SlickGrid Resort 方法也没关系。

谢谢

【问题讨论】:

  • 您在哪个 IE 版本中发现此问题? SlickGrid 明确不支持 IE6。 github.com/mleibman/SlickGrid/wiki
  • 我以为我提到了它,但我猜不是... IE8 可能还有其他,但我只有这些。
  • 很抱歉回答的太晚了。我想现在其他人会得到它。 :))

标签: javascript jquery alert slickgrid


【解决方案1】:

基本上问题是当您调整大小时,IE 会触发列上的点击事件。如果鼠标向上时光标下方有列标题,则该列将被重新使用。

至于为什么提醒框有帮助,浏览器事件是按特定顺序触发的。在 IE 中,dragend(触发 onColumnsResized)在单击(触发手段)之前被触发。因为它们不是同一类型,所以停止传播不会做任何事情,但弹出一个警告框可能会阻止在列标题上注册幽灵点击。

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

【讨论】:

    猜你喜欢
    • 2015-03-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-11
    • 2012-07-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多