2013-05-08 58 views
2

這可能是一個神器,但它在自從切換到SlickGrid V2(從未在以前的版本中看到過)以來構建的對象網格中的重現性(僅限IE)。當用戶調整列的大小時,度假村方法也會觸發哪個列,當然,該列也會出現。
我也做到了這一點(有沒有影響):SlickGrid V2列調整大小觸發器排序

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

但是,當我包括警報......一切正常,因爲它應該(不勝地)。所以......我認爲這是一個時間問題。我設置了一個虛假的2秒計時器(除了時間以外什麼都沒做),也沒有任何效果(依然度假)。 有人可以解釋發生了什麼,爲什麼alert似乎允許一切正常工作。我使用當地度假村還是默認的SlickGrid度假村方法也無關緊要。

感謝

+0

你在哪個版本的IE中發現這個問題? SlickGrid顯式不支持IE6。 https://github.com/mleibman/SlickGrid/wiki – mmitchell 2013-05-08 16:21:56

+0

想到我提到它,但我想不是...... IE8和其他人,但這就是我的全部。 – user1415445 2013-05-09 18:23:22

+0

對不起,超晚回答。我想現在有人會得到它。 :)) – mmitchell 2013-06-02 01:26:02

回答

1

基本問題是,IE瀏覽器觸發該列上的點擊事件,當你調整。如果鼠標懸停時在光標下方有一個列標題,則該列將被採用。

至於爲什麼警告框有幫助,瀏覽器事件按特定順序觸發。在IE中,dragend(觸發onColumnsResized)在點擊之前觸發(觸發一個度假區)。由於它們不是同一類型,因此停止傳播將不會執行任何操作,但可能會彈出警告框以防止在列標題上註冊重影單擊。

這是應該在SlickGrid庫中解決的問題,而不是使用它的代碼。

相關問題