2011-04-22 49 views
0

我試圖強制光標留在一個窗體域中。我有一個onFocus在身體所以當頁面第一次加載光標去表單字段,但我需要弄清楚如何不讓它從該領域移動。強制光標在窗體域

我只在整個頁面上有一個表單域。即使瀏覽器被最小化然後重新打開,我也需要光標返回到表單域。

我一直在玩onBlur,但它不工作。

任何人都可以幫忙嗎?

謝謝!

回答

0

哈哈!我擁有它!

訣竅是在模糊後等待一段時間,然後重新聚焦。幸運的是,我們可以設置0秒的超時時間,如下所示:

var input = document.getYourInputThatYouWantToFocusOn(), 
    focuser = function() { 
     input.focus(); 
    }; 

focuser(); 
input.onblur = function() { 
    setTimeout(focuser, 0); 
}; 

Mwahahahaha!

+0

注意:只在Chrome中進行測試。 – sdleihssirhc 2011-04-22 04:57:50

1

表單不應該強迫用戶做他們想做的事情;相反,他們應該適應用戶的需求和期望。您試圖強制用戶只輸入一個表單字段,這違反了網頁設計規則,並且是可訪問性的主要問題。

這就是說,下面的東西應該工作:

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

的JavaScript:

var field = document.getElementById("field"); 
field.onblur = function() { 
    field.focus(); 
}