2012-12-09 72 views
1

我在IE8上看到一個奇怪的行爲&帶有YUI contextmenu和可滾動表格的IE9,非常感謝如果有人能告訴我如何解決以下問題:當YUI contextmenu出現時,表格tbody的滾動條在IE8,IE9上意外滾動頂部

參考http://jsfiddle.net/nguanon/yL5Sa/ 在作出對IE8 & IE9的TBODY滾動,滾動滾動條的底部後,右鍵單擊某行有文本菜單出現,觀察到滾動條自動跳到頂部。

的代碼YUI例子是採取以下CSS補充說:

table#dataset thead { 
display: block; 
} 
table#dataset tbody { 
display: block; 
overflow: auto; 
max-height: 200px; 
} 
</style> 
<!--[if IE]> 
<style> 
table#dataset tbody { 
position: absolute; 
} 
</style> 
<![endif]--> 

隨着YUI 2.6.0,跳頂後,滾動條回哪裏,當我們點擊到其他地區(以隱藏它contextmenu) 使用YUI 2.9.0,滾動條跳轉到頂部並停留在那裏。 這兩種方式都不是好的用戶體驗,我想了解它爲什麼會跳躍,以及我們是否可以預防這種情況。

調試表明,一旦上下文菜單的setFocus被執行,滾動條自動跳轉。從menu.js的實施,也有注意到這個視跳,但似乎並不該定時器解決了這個問題:

/* 通過定時器設置重點解決在Firefox,IE 和競爭條件當瀏覽器視口跳到 位置並聚焦菜單時,Opera會跳轉。 */

在搜索此問題的解決方案時,我也看到類似情況https://www.redhat.com/archives/freeipa-devel/2012-July/msg00240.html,其中當前的滾動條位置被保存並被設置回它以後的位置。不過,我只是想看看我們是否可以阻止跳躍。我認爲這是YUI特有的,並且已經在YUI網站上提出問題,但是如果有任何SO用戶遇到YUI 2代碼並知道答案,那將不勝感激。

回答

0

不幸的是YUI2已經到了生命的盡頭,所以沒有發佈。但是,其中一些問題有單獨的補丁,通常可以在錯誤報告的門票中找到。許多剩餘的問題都以「無法修復」的狀態結束,但它們仍然被歸檔並可以被檢查。尋找與滾動相關的DataTable問題提供this list。希望答案在那裏。

+0

感謝薩蒂揚提供該列表。我會逐一檢查它們,並會很快更新這個問題/答案。 –