Я занимаюсь разработкой небольшого приложения, в котором я прошу пользователей добавить информацию.
Я хочу показать текстовые подсказки в полях ввода.
Я делаю это в цикле ...
Когда страница загружена, подсказки отображаются правильно, но ничего не происходит с событиями «фокус» и «размытие» ...
Мне интересно, почему, поскольку, когда я не использую 'for loop' в моем коде js, все работает find ...
Кстати, причина, по которой я использую цикл for, заключается в том, что я не хочу повторяться, следуя принципам «СУХОГО» ...
Спасибо за помощь!
LP
Вот код:
<script src="/javascripts/jquery.js" type="text/javascript"></script>
<script type="text/javascript">
var form_elements = ['#submission_url', '#submission_email', '#submission_twitter']
var text_hints = ['Website Address', 'Email Address', 'Twitter Username (optional)']
$(document).ready(function(){
for(i=0; i<3; i++) {
$(form_elements[i]).val(text_hints[i]);
$(form_elements[i]).focus(function(i){
if ($(this).val() == text_hints[i]) {
$(this).val('');
}
});
$(form_elements[i]).blur(function(i){
if ($(this).val() != text_hints[i]) {
$(this).val(text_hints[i]);
}
});
}
});
</script>