2016-07-13 2 views
0

У меня есть ввод, который мне нравится с помощью курсора, который, как я думал, был приятным. Я хотел бы, чтобы этот ввод был «сфокусирован» на том, когда мое окно загружено, чтобы курсор мигал, и вход готов к вводу. Я использую jquery, чтобы заставить курсор работать, но не может заставить работать функцию .focus()У меня проблема с .focus() на входе

https://jsfiddle.net/cityFoeS/z9Ldt/233/

Это мой JQuery:

$(function() { 



var cursor; 

$('#cmd').click(function() { 
    $('input').focus(); 

    cursor = window.setInterval(function() { 
    if ($('#cursor').css('visibility') === 'visible') { 
    $('#cursor').css({ visibility: 'hidden' }); 
    } else { 
    $('#cursor').css({ visibility: 'visible' }); 
    } 
    }, 500); 

}); 

$('input').keyup(function() { 
    $('#cmd span').text($(this).val()); 

}); 

    $('input').blur(function() { 
    clearInterval(cursor); 
    $('#cursor').css({ visibility: 'visible' });  
    }); 


}); 
$('#text').focus(); 
+0

https://jsfiddle.net/RachGal/z9Ldt/240/ –

ответ

0

$(function(){ }); такая же, как $(document).ready(function() { })

стреляет, когда документ был разобран и готов к работе.

У вас есть $('#text').focus(); вне этого фрагмента, и этот фрагмент кода выполняется перед документом. Так что функции onclick и onblur еще не установлены.

Вы можете попробовать это. Если вы измените ваши JS и имитировать щелчок действие «CMD» DIV после прикрепить функцию, он работает:

$(function() { 

var cursor; 

$('#cmd').click(function() { 
    $('input').focus(); 

    cursor = window.setInterval(function() { 
    if ($('#cursor').css('visibility') === 'visible') { 
    $('#cursor').css({ visibility: 'hidden' }); 
    } else { 
    $('#cursor').css({ visibility: 'visible' }); 
    } 
    }, 500); 

}); 

$('#cmd').click(); 

$('input').keyup(function() { 
    $('#cmd span').text($(this).val()); 

}); 

    $('input').blur(function() { 
    clearInterval(cursor); 
    $('#cursor').css({ visibility: 'visible' });  
    }); 


}); 
+0

спасибо. Я просто заметил это, и я переключил $ ('# cmd'). Нажмите на $ (document) .ready –

+0

обновление: когда я пытаюсь это сделать, я не могу ввести –

+0

Я могу: https://jsfiddle.net/z9Ldt/238/ – imazzara

Смежные вопросы