2011-01-05 7 views
5

Bir kullanıcı alana tıkladığında bir form alanına bir renk kenarlığı eklemeye çalışıyorum, html ve javascript'te, biraz php ile iyiyim, ancak css'm gerçekten çok zayıf. Form vb. Için kod aşağıdadır. Birinin bana yardım edip yardım edebileceğini gerçekten takdir ediyorum. KODU:onfocus?

<form id="search" action="http://www.bkslap.com/search/results.php" id="cse-search-box"> 
<input name="q" type="text" id="q" autocomplete="on" size="56" style="color:#ccc;" maxlength="128" id="q" 
onblur="this.value = this.value || this.defaultValue; this.style.color = '#ccc';" 
onfocus="this.value=''; this.style.color = '#9933FF';" 
value="Search" /> 
</form> 

herhangi bir düşünce?

cevap

10

Bir sınıfı onBlur ve onFocus ile eklemek ve çıkarmak muhtemelen daha temiz olacaktır. Sonra css sınıfında sahip olabilir:

.focus { 
background: yellow; 
color: #000; 
border: 1px solid red; 
} 

kontrol here sınır özellikleri hakkında daha fazla bilgi için. (w3schools'dan nefret edenlere özür dileriz, ancak bu tür referanslar için makul bir yer).

http://www.cssdrive.com/index.php/examples/exampleitem/focus_pseudo_class/

+0

Muhtemelen içermek için hareketli stil ve javascript ile anlaşılmıştır. Tabii biraz daha zaman alacaksınız ama daha sonra size çok fazla acı verecek. –

+0

Teşekkürler, anladım, teşekkürler sotiris (aşağıda) – Niall

+1

Harika! Bana oy verebilirsin, ya da cevabımın yanındaki kutuyu işaretleyebilirsin. Ya da neden olmasın? – JakeParis

0

böyle satır içi stil kullanılmasını önermiyoruz ve hatta ... javascript/jquery yoluyla olayları ancak en fazla kablolama öneriyoruz

Sen object.style.borderColor ile arka plan rengini ayarlayabilir . Renk sadece yazı tipi rengidir.

Kısa yoldaki css işaretlemesi yalnızca 'kenarlık' veya özellikle kenarlık rengini css'den ayarlamak istiyorsanız 'kenarlık rengi' olur. Javascript'te buna dönüştü.style.borderColor.

7

:focus pseudoclass #q:focus {border:red 1px solid;} pseudoclass'ı kullanabilirsiniz, ancak burada görebildiğiniz gibi http://www.quirksmode.org/css/contents.html, 7 ve altında desteklenmez. Eğer

$('#q').focus(function() { 
    $('#q').css('border','1px solid red'); 
}); 
+0

Girdi alanını girdiğimde giriş alanını daha önceki kenarlık rengini nasıl yapacağımı söyler misiniz? – SOURAV

9

Hemen şöyle anahat rengi için css kullanmak jquery ve aşağıdaki kodu kullanabilirsiniz çapraz tarayıcı uyumluluğu elde etmek için:

.class { 
    outline-color:#FF0; 
} 
+0

Bu, tüm tarayıcılarda doğru cevaptır. Bkz. Http://www.w3schools.com/cssref/pr_outline.asp;) IE8 desteği için bir not vardır - DOCTYPE belirtmelisiniz. –

0

Carl-Michael Hughes gelen cevabı nihayet benim için çalıştı ne! anahat rengi, odak "kenarlık" rengini ayarlamanın tek yoludur. Teşekkürler!

İlgili konular