2010-01-04 111 views

回答

0

用戶類型或點擊你可能設置scrollTop的屬性滾動停止頁面X每n毫秒。我認爲這種方法的問題在於,當用戶試圖滾動頁面時,頁面看起來會顯得不平穩(技術術語)。

此外,你會打破用戶的期望,他們能夠隨時滾動頁面,我會建議不要,因爲它可能會混淆他們,並在最壞的情況下惹惱他們。

+0

是啊,我雖然如此,但我不會好看的用戶。我希望禁用自動關注文本字段的瀏覽器功能。 – 2010-01-04 06:31:00

2

所以我想出瞭如何做到這一點,我將把這留給任何需要解決此問題的人的記錄。 (注意:此方法只被在Safari和Firefox測試)

爲:

<input id="text" type="text" /> 

功能

document.getElementById('text').onkeydown = new function(event){return false} 

不會導致窗口滾動移動,從而用戶在輸入字段時可以看到輸入字段。如果像我這樣想要這發生在一些字母,但不是爲其他人簡單地編輯onkeydown函數的內容,以便它返回false爲某些鍵碼和真正的其他人。

1

我遇到過類似的問題。嘗試使用以下解決方案:訂閱focus事件,在其處理程序中禁用窗口滾動並通過超時打開滾動。

我知道解決方案看起來不是很乾淨,但演示看起來不錯,沒有視覺缺陷。

$(function() { 
    var oldScroll = window.onscroll; 
    $(document).on('focus', 'input', function(e) { 
     window.onscroll = function() { 
      window.scroll(0,0); 
     } ; 
     setTimeout(function() { 
      window.onscroll = oldScroll; 
     }, 100); 
    }); 

}); 

http://jsfiddle.net/N4da4/8/