Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 26.01.2011, 17:15
Особый гость
Посмотреть профиль Найти все сообщения от monolithed
 
Регистрация: 02.04.2010
Сообщений: 4,260

Очередной баг jQuery?
Не могу понять, то ли это баг jQuery или я что-то упустул?
<script src="http://code.jquery.com/jquery.min.js" type="text/javascript"></script>

<script>
$(function(){
    var $input = $('input');
    if($input != null) {
        $($input).bind({
            focus: function(){
                $(this).val() == this.defaultValue && $(this).val('');
                $($input).animate({width: $(window).width()-50+'px'}, 600, false);
            },
            blur: function(){
                if(!$(this).val()){
                    $(this).val(this.defaultValue);
                    $($input).animate({width:'100px'}, 600, false);
                }
            }
        });
    }
});
</script>

<form name="" action="">
    <input type="text" value="click" />
</form>


Как воспроизвести баг:
Кликнув на поле что-то печатаем, стираем и у уводим фокус (клик в любом месте документа), затем опять переводим фокус на текстовое поле и вводим текст, после чего курсор в текстовом поле пропадает....

тут можно потестить: http://jsfiddle.net/YVSQJ/
Ответить с цитированием
  #2 (permalink)  
Старый 27.01.2011, 06:21
Аватар для x-yuri
Отправить личное сообщение для x-yuri Посмотреть профиль Найти все сообщения от x-yuri
 
Регистрация: 27.12.2008
Сообщений: 4,201

мог в общем-то попроще и постандартнее привести пример (чтобы не было лишних подозрений). И сказать в каком браузере не работает. В ff точно баг. А что, это нормально, когда пропадает курсор? А с jQuery может быть так: кому могло прийти в голову сделать так. Эта их анимация мутна чуть более, чем полностью

<!doctype html>
<html>
<head>
    <script src="http://code.jquery.com/jquery.min.js" type="text/javascript"></script>
</head>
<body>
    <input type="text" value="click" />
    <script type="text/javascript">
        $('input').focus(function(){
            $('input').animate({width: 200});
        });
    </script>
</body>
</html>
Ответить с цитированием
  #3 (permalink)  
Старый 27.01.2011, 07:11
Аватар для Vulkan
Профессор
Отправить личное сообщение для Vulkan Посмотреть профиль Найти все сообщения от Vulkan
 
Регистрация: 25.05.2010
Сообщений: 511

Да, в Firefox баг такой: наводишь курсор, что-нибудь печатаешь и даже можно не стирать просто фокус убираешь, а потом уже курсора не будет.
Бага не наблюдается в IE 8, Opera 11, Google Chrome 8.0.552.237, Safari 5.0.
Ответить с цитированием
  #4 (permalink)  
Старый 27.01.2011, 09:23
Особый гость
Посмотреть профиль Найти все сообщения от monolithed
 
Регистрация: 02.04.2010
Сообщений: 4,260

Самое интересное, что периодически отправляю им явные баги, но они их не могут воспроизвести, пришлось последний раз даже видео записать.
Сообщение от Vulkan
Бага не наблюдается в IE 8, Opera 11, Google Chrome 8.0.552.237, Safari 5.0.
То-то и оно, я же не знаю на кого и думать
Есть у кого-нибудь идеи как это побороть (отказаться от JQuery не предлагайте, т.к. не в моей компетенции)?
Ответить с цитированием
  #5 (permalink)  
Старый 27.01.2011, 09:38
Аватар для Vulkan
Профессор
Отправить личное сообщение для Vulkan Посмотреть профиль Найти все сообщения от Vulkan
 
Регистрация: 25.05.2010
Сообщений: 511

Нашёл темку которая к jquery не относится, но относится к инпуту.
Ответить с цитированием
  #6 (permalink)  
Старый 27.01.2011, 09:39
Аватар для x-yuri
Отправить личное сообщение для x-yuri Посмотреть профиль Найти все сообщения от x-yuri
 
Регистрация: 27.12.2008
Сообщений: 4,201

в интернетах пишут, что надо с overflow экспериментировать, в частности, попробуй auto. Оно, наверняка, меняется в animate. Попробуй после анимации его изменить

p.s. google://disappear caret ff
Ответить с цитированием
  #7 (permalink)  
Старый 27.01.2011, 10:01
Особый гость
Посмотреть профиль Найти все сообщения от monolithed
 
Регистрация: 02.04.2010
Сообщений: 4,260

Сообщение от Vulkan
Нашёл темку которая к jquery не относится, но относится к инпуту
ппц, этот баг в FF с 2005 висит
Сообщение от x-yuri
в интернетах пишут, что надо с overflow экспериментировать, в частности, попробуй auto. Оно, наверняка, меняется в animate. Попробуй после анимации его изменить
как оказалось jQuery тут совсем не причем, все дело было в FF.
auto как раз не нужно, т.к. оно полосу прокрутки добавляет, пришлось сделать так:

div {
    position: realative; /* обязательно */
    overflow: hidden; /* обязательно */
    /* width: икрементируется */
    z-index: 100;
}

input {
    width: 100%;
}

<div>
   <input type="text" value="click" />
</div>

Последний раз редактировалось monolithed, 27.01.2011 в 10:03.
Ответить с цитированием
  #8 (permalink)  
Старый 27.01.2011, 10:15
Аватар для x-yuri
Отправить личное сообщение для x-yuri Посмотреть профиль Найти все сообщения от x-yuri
 
Регистрация: 27.12.2008
Сообщений: 4,201

ну я ж говорю, что ты совершаешь много лишних движений...
<!doctype html>
<html>
<head>
    <script src="http://code.jquery.com/jquery.min.js" type="text/javascript"></script>
</head>
<body>
    <style type="text/css">
        input { overflow: hidden; }
    </style>
    <input type="text" value="click" />
    <script type="text/javascript">
        $('input').focus(function(){
            $('input').animate({width: 200});
        });
    </script>
</body>
</html>
Ответить с цитированием
  #9 (permalink)  
Старый 27.01.2011, 10:16
Особый гость
Посмотреть профиль Найти все сообщения от monolithed
 
Регистрация: 02.04.2010
Сообщений: 4,260

Сообщение от x-yuri
ну я ж говорю, что ты совершаешь много лишних движений...
я наверное, не так выразился, это в моем случае нужны лишние движения
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Динамически загружаемая jQuery и jQuery-функции в одном файле 67bytes Общие вопросы Javascript 6 06.03.2013 09:01
2 разных модуля на jQuery - как подключить? finder jQuery 4 23.03.2012 22:29
Баг с thickbox jQuery Filsh jQuery 0 01.07.2010 11:06
jQuery jTreeMenu plugin Seafnox jQuery 9 12.01.2010 21:55
JQuery + FireFox NOOB jQuery 4 02.11.2009 18:16