2014-02-11 110 views
0

我在我的網站上有一個聯繫表單,其文本以淺灰色開始,單擊時我已將其設置爲更改顏色,但是當我選中它時沒有。是否有檢測用戶是否使用Tab鍵進入現場而不是點擊並覆蓋此實例。單擊或選項卡上的表單字段顏色更改

HTML:

​​

的jQuery:

$('body').on('click', '.extraFields', function() { 
    $(this).addClass('clickedField'); 
}); 

CSS:

.extraFields{ 
    color:#cccccc; 
} 
.clickedField{ 
    color:#000000 !important; 
} 
+0

什麼樣的標籤? – davidkonrad

+0

你可以嘗試使用'focus'而不是'click'(或者是),哈哈哈剛纔注意到你用焦點標記了這個! – Pete

+0

@davidkonrad鍵盤上的tab鍵 – huddds

回答

1

使用一個焦點事件,而不是點擊:

$('body').on('focus', '.extraFields', function() { 
    $(this).addClass('clickedField'); 
}); 
+0

我會採取兩個,點擊和重點 – davidkonrad

1

這裏的問題是事件監聽器附加到頁面的body元素,因此$(this)引用它。要設置字段本身類,使用e.target

// add class on focus 
$('body').on('focus', '.extraFields', function (event) { 
    $(event.target).addClass('clickedField'); 
}); 
// remove class on blur 
$('body').on('blur', '.extraFields', function (event) { 
    $(event.target).removeClass('clickedField'); 
}); 

http://api.jquery.com/event.target/

相關問題