2012-06-25 34 views
1

如何強制模糊,但未在JavaScript/jQuery中調用onBlur事件?如何在不調用onBlur事件的情況下強制模糊

我會盡力來形容你,我需要它:

  • 時的onblur被調用時,我通過jQuery和驗證輸入調用PHP腳本。如果出現錯誤,它將返回一條消息,然後將其顯示回jQuery腳本中。
  • 如果一個模糊的字段沒有填充,腳本應該將用戶重新聚焦到該字段。

而問題是,如果你按TAB鍵來更改領域,你的第一個字段是不是填,腳本將專注你回來,但後來被稱爲的onblur從還沒有填寫第二個字段,然後將其導致無限循環。

所以,我想模糊一個領域,並專注於另一個沒有調用onBlur事件。

+1

爲什麼不使用'change'?還可以在'submit'事件上運行驗證。 – kapa

+2

請不要強調焦點回到用戶試圖離開的領域,這是令人討厭的。當用戶嘗試提交時,可以將焦點移回問題字段。 – nnnnnn

回答

4

這不是你的問題中指出的答案,但我建議你做的(在某種程度上UX的觀點)是廢棄無效輸入的自動重新聚焦,而是標記無效字段(例如,我可以建議紅色嗎?)。現在,您可以去處理防止表單提交無效數據的(可以說)更簡單的問題,而不是阻止事件的自然瀏覽器行爲類型的問題。

此外,我敢說,自動重新對焦是刺激爲用戶。想象一下,第二個領域的tabbing,開始打字,然後突然yoink!你會被拖到第一個字段。

+0

由於iOS5和Andriod 2.2等設備中的模糊和聚焦泡沫的方式,使用此設計實現跨瀏覽器實現非常困難,不僅會讓用戶自動重新聚焦煩人,而且跨瀏覽器實現也很難實現。你會注意到(現在是一天,無論如何)企業和企業網站使用你解釋的方法,而不是重新聚焦。 +1 – Ohgodwhy

1

爲什麼不只是使用「改變」和「鍵盤」而不是模糊?

1

我同意上面的理查,沒有什麼比在輸入過程中失去焦點更煩人的,但是如果你確實需要這樣做(由於客戶需求等) - 在自動對焦字段的代碼中,暫時禁用onBlur功能,直到您專注於該字段,然後重新啓用它。

+0

是的,有人立即把我的事情拋下了。沒有評論。我提高了你的想法,因爲這不是一個壞主意。有人的曳... – Jan

+0

確實 - 回報;) –

+0

@Jan〜我剛剛在上週提到了另一個問題,實際上,但我注意到*即時*降低了過去幾周的猖獗。 –

相關問題