簡體   English   中英

IE瀏覽器| 如何防止滾動頁面上缺少輸入焦點?

[英]IE | How to prevent input-focus missing on scrolling page?

我有很多輸入的HTML表單。 當我專注於輸入時,在這種情況下我很有趣,之后我滾動頁面並弄亂了焦點。

問題:使用IE滾動條時,焦點突出的元素失去焦點。

您需要:

  • 確定失去重點的要素
  • 識別何時滾動文檔
  • 重新應用焦點

您可以識別由於blur事件而失去焦點的元素。 向要記住焦點的每個元素添加合適的事件處理程序。

blur事件處理程序運行時,對於給定的輸入元素,應該將輸入元素的標識符存儲在全局變量中(也許在全局變量中)。 如何執行此操作取決於您選擇識別元素的方式。 元素的id將是理想的。

您可以通過window對象的scroll事件處理程序知道何時滾動文檔。 參見https://developer.mozilla.org/en/DOM/window.onscroll

您可以通過比較scrollHeight的before和after值來判斷文檔何時完成滾動。 參見https://developer.mozilla.org/en/DOM/element.scrollHeight

總體:

  • 向輸入元素添加blur事件處理程序
  • 模糊時,請注意失去焦點的元素和當前的scrollHeight
  • 在滾動過程中,比較scrollHeights以確定滾動是否已停止
  • 滾動停止后,重新應用焦點

您可能需要在滾動停止和重新應用焦點之間等待一小段時間。 用戶可能正在稍微滾動,停止,滾動,停止。 您不希望您的腳本引起瘋狂的焦點跳躍行為。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM