Безумие контейнера IE7 при нажатии кнопки пользовательского интерфейса jQuery

Нажатие кнопок пользовательского интерфейса jQuery на странице с использованием IE7 приводит к скачку контейнера.

Под ползунком «Заказать #названиепродукта#» слева нажатие кнопки «Требуемое количество» приводит к перемещению контейнера на несколько пикселей вверх. Я могу жить с этим, но хотел бы знать, почему это происходит.

Основная проблема с правой стороны. Щелчок по кнопкам перемещает страницу влево, открывая следующий плавающий элемент div.

Почему это происходит и как я могу это остановить?!

Вы можете просмотреть страницу по адресу http://www.thewebdes.co.uk/dev/cw/index.php.

-- редактировать --

Вот что я вижу, когда по очереди нажимаю на каждую кнопку пользовательского интерфейса jQuery: http://www.thewebdes.co.uk/dev/cw/cw-ss.gif

Кроме того, если щелкнуть прямо по самому большому количеству, контейнер переместится полностью, как это было на предыдущем снимке экрана. Возврат к меньшему количеству не возвращает его, если это дает какие-либо подсказки: http://www.thewebdes.co.uk/dev/cw/cw-ss2.gif


person Scott Brown    schedule 25.02.2011    source источник
comment
это выглядит хорошо для меня, я не знаю, что вы получаете   -  person Val    schedule 25.02.2011
comment
@Val: Только что добавил скриншот к моему вопросу, если это поможет. Спасибо   -  person Scott Brown    schedule 25.02.2011
comment
О, хорошо, я вижу, вы что-нибудь прикрепили к событию клика?   -  person Val    schedule 25.02.2011
comment
Нет, но я проверяю, равно ли значение «0» или нет, когда нажимается «Продолжить». Я собираюсь прикрепить еще один SS, чтобы проиллюстрировать далее   -  person Scott Brown    schedule 25.02.2011
comment
хорошо, что вы можете сделать, это прикрепить к нему щелчок, а затем прокрутить влево до 0, поэтому каждый раз, когда нажимается одна из кнопок, он будет держать ее в 0 позиции   -  person Val    schedule 25.02.2011
comment
Я попробовал ваше предложение, прикрепив его к кнопкам и контейнеру, но, боюсь, не повезло. Хорошая мысль, хотя   -  person Scott Brown    schedule 25.02.2011
comment
$('.tester').unbind().bind('mouseup click',function (){return false;}); где тестер находится в метке кнопок, вы можете это изменить   -  person Val    schedule 25.02.2011
comment
Это останавливает прыжки, отлично, но не позволяет выбирать кнопки. Спасибо за настойчивость! Я пробую что-то здесь, но пока ничего не делаю.   -  person Scott Brown    schedule 25.02.2011
comment
задолго до возврата false; вы можете сделать что-то вроде $(this).attr('checked','checked'); return false;, которое выберет нажатую кнопку :)   -  person Val    schedule 25.02.2011
comment
$('.ui-button').click(function(){return false;}); позволяет выбирать визуально, но не выбирает основной переключатель   -  person Scott Brown    schedule 25.02.2011
comment
Хорошая мысль, но это будет checked для метки, а не для ввода... Как вы думаете, есть ли обходной путь .next()?   -  person Scott Brown    schedule 25.02.2011
comment
теоретически так и должно быть :), но так как на этикетке есть атрибут for, вы можете зафиксировать это, если случится что-то плохое :)   -  person Val    schedule 25.02.2011
comment
Сделал это! Спасибо за вашу помощь. Я поставлю это как ответ и передам вам крик. Ваше здоровье!   -  person Scott Brown    schedule 25.02.2011


Ответы (2)


С помощью Вал (см. комментарии к вопросу) я отсортировал это:

Я использую JS:

$('.ui-button').click(function(){
  $('#' + $(this).attr('for')).attr('checked','checked');
  return false;
});

При каждом щелчке ui-button return false отключает переход IE7. Однако это также лишает ui-button возможности проверять соответствующий переключатель. Радиокнопки (естественно) имеют идентификатор метки for, поэтому я получаю это с '#' + $(this).attr('for'), чтобы создать идентификатор, который мне нужен для этой радиокнопки.

person Scott Brown    schedule 25.02.2011
comment
у тебя еще проблемы с верхом :) прыгай на ящик слева - person Val; 25.02.2011
comment
не говоря уже о том, что вы отключили прокрутку тега body, что означает, что люди с маленьким экраном могут не видеть большую часть поля и, что наиболее важно, кнопку следующего шага. - person Val; 25.02.2011
comment
Я не загрузил изменения! Есть сейчас. Отключена прокрутка? У меня он есть (хотя я использую новый сброс CSS, возможно, я его пропустил). Размер контейнера #main изменяется, если он слишком мал (см. строки 31-32 и 43-44 в my.js) - person Scott Brown; 25.02.2011

если у кого-то все еще есть проблема, у меня сработало следующее форматирование css:

* + html .ui-helper-hidden-accessible {
    position: fixed; /* Fix the jumpy behavior in IE 7*/
}
person Tip    schedule 04.02.2013