Bu muhtemelen çok basit, ama birisi bana imlecin sayfa yüklenirken bir metin kutusunda yanıp sönmesini nasıl sağlayabilir?
Bu muhtemelen çok basit, ama birisi bana imlecin sayfa yüklenirken bir metin kutusunda yanıp sönmesini nasıl sağlayabilir?
Yanıtlar:
İlk metin alanına odaklan:
$("input:text:visible:first").focus();
Bu aynı zamanda ilk metin alanını da yapar, ancak [0] 'ı başka bir dizine değiştirebilirsiniz:
$('input[@type="text"]')[0].focus();
Veya şu kimliği kullanabilirsiniz:
$("#someTextBox").focus();
$('input[type="text"]').get(0).focus();
... benim için çalıştı
Bunun için HTML5autofocus
kullanabilirsiniz . JQuery veya başka bir JavaScript'e ihtiyacınız yoktur.
<input type="text" name="some_field" autofocus>
Bunun IE9 ve daha düşük sürümlerde çalışmayacağını unutmayın.
Elbette:
<head>
<script src="jquery-1.3.2.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(function() {
$("#myTextBox").focus();
});
</script>
</head>
<body>
<input type="text" id="myTextBox">
</body>
Neden herkes bu kadar basit bir şey için jQuery kullanıyor?
<body OnLoad="document.myform.mytextfield.focus();">
Bunu yapmadan önce kullanıcı arayüzünüzü düşünün. Belgenin jQuery ready()
işlevini kullanarak yüklendiğinde bunu yapacağınızı varsayıyorum (cevapların hiçbiri böyle söylemedi) . Bir kullanıcı belge yüklenmeden önce farklı bir öğeye odaklanmışsa (ki bu tamamen mümkündür), o zaman odağın çalınması son derece sinir bozucudur.
Bunu , kullanıcının zaten bir form alanına odaklanıp odaklanmadığını kaydetmek onfocus
için <input>
öğelerinizin her birine özellikler ekleyerek ve sonra varsa odağı çalmayarak kontrol edebilirsiniz:
var anyFieldReceivedFocus = false;
function fieldReceivedFocus() {
anyFieldReceivedFocus = true;
}
function focusFirstField() {
if (!anyFieldReceivedFocus) {
// Do jQuery focus stuff
}
}
<input type="text" onfocus="fieldReceivedFocus()" name="one">
<input type="text" onfocus="fieldReceivedFocus()" name="two">
HTML:
<input id="search" size="10" />
jQuery:
$("#search").focus();
autofocus
, giriş elemanına nitelik mi eklemeniz yeterlidir ?
Eski bir soruya çarptığım için üzgünüm. Bunu google üzerinden buldum.
Ayrıca, birden fazla seçici kullanmanın mümkün olduğunu, böylece yalnızca belirli bir türü değil, herhangi bir form öğesini hedefleyebileceğinizi de belirtmek gerekir.
Örneğin.
$('#myform input,#myform textarea').first().focus();
Bu, bulduğu ilk girdiyi veya metin alanını odaklar ve elbette karışıma başka seçiciler de ekleyebilirsiniz. Hnady, ilk olarak belirli bir öğe türünden emin olamıyorsanız veya biraz genel / yeniden kullanılabilir bir şey istiyorsanız.
Ben kullanmayı tercih budur:
<script type="text/javascript">
$(document).ready(function () {
$("#fieldID").focus();
});
</script>
autofocus
HTML5 tarafından sağlanan özelliği kullanın
girişten sonra yer
<script type="text/javascript">document.formname.inputname.focus();</script>
Bunu başarmanın basit ve en kolay yolu
$('#button').on('click', function () {
$('.form-group input[type="text"]').attr('autofocus', 'true');
});
Yalnızca satır $('#myTextBox').focus()
imleci metin kutusuna koymaz, bunun yerine şunu kullanın:
$('#myTextBox:text:visible:first').focus();