我在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代碼並知道答案,那將不勝感激。
感謝薩蒂揚提供該列表。我會逐一檢查它們,並會很快更新這個問題/答案。 –