Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Общие вопросы > focus() - установить курсов в конце поля для Opera


Автор: Black_leopard 22.7.2011, 07:51
Приветствую!

При выполнении определенных действий пользователем делаю focus на поле input:

$("#input").focus()

В FF, IE7+ - работает как надо, ставит курсов в конец поля input (т.е. в конец строки)

В Opere - ставит курсов в начало, а в Chrome - вообще выделяет текст в input.

Подскажите, пожалуйста, как сделать поведение в Opere и Chrome таким же как в FF?

Использую библиотеку jquery.

Автор: trix 8.8.2011, 01:48
Код

<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script>
<script src="http://bililite.com/inc/bililiteRange.js"></script>
<script>
    $(document).ready(function(){
        $("input[type='text']").focus(function(){
            var l = $(this).val().length;
            bililiteRange($(this)[0]).bounds([l, l]).select();    
        });
        $("input[type='button']").click(function(){
            $("input[type='text']").focus();
        });
    });
</script>
</head>
<body>
    <input type=button value='press me'>
    <input type="text" value='bla bla bla'>
</body>
</html>


можно выделять любую область текста. у каждого браузера свои методы. но есть кроссбраузерная библиотека.
подробности тут http://bililite.com/blog/2011/01/17/cross-browser-text-ranges-and-selections/

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)