2014-04-08 28 views
0

我在表單中有很多文本框。當其各自的值未通過驗證時,將應用一個班級「有錯誤」,這會向文本框添加紅色邊框。捕獲所有文本框的焦點事件 - jQuery

我想撤消這個類,如果該文本框獲得焦點。

喜歡的東西

$(document).on('focus',find(':input'),function(){ 
    $(this).removeClass('has-error'); 
}); 

這是如何完成的?

+0

謝謝大家。愛德華多的解決方案工作。但它被刪除了。有任何問題。 '$(「input:text」)。focus(function(){$(this).removeClass('has-error')});' – Ruby

回答

3

你不需要find(':input')只是使用':input.has-error'

$(document).on('focus', ':input.has-error' ,function(){ 
    $(this).removeClass('has-error'); 
}); 

,並且確保你的代碼DOM Ready

+1

值得注意的是焦點事件不會冒泡,jQuery只是僞造它。 – adeneo

+0

是的,它已經準備好了 – Ruby

+0

@Ruby你可以做一個http://jsfiddle.net/? –

1

只要做到:

$(document).on("focus", "input:text.has-error", function() { 
+0

這不完全相同,我不確定OP的需求,但它不適用於動態加載的元素AFAIK。 – Trufa

+0

@Trufa - 類是基於驗證應用的 - 這可以解決這個問題。 – tymeJV

+0

不,他們不會。 http://jsfiddle.net/vcd2X/1/ http://jsfiddle.net/vcd2X/2/ – Trufa