Различное поведение Javascript в разных браузерах - PullRequest
0 голосов
/ 29 мая 2009

Я работаю на сайте электронной коммерции, но работа с Javascript убивает меня.

Например, для следующей страницы, http://nordschleife.metaforix.net/118/118/index.php/sony.html

Работает так, как задумано в Google Chrome, но не в IE или Firefox. Например, если щелкнуть стрелку вверх или вниз для продуктов, которые находятся внизу страницы (например, десятый продукт), страница поднимется.

Я уже использовал event.preventDefault (); но это не работает для IE и Firefox. JS выглядит следующим образом:

<script type="text/javascript"> 
jQuery(document).ready(function($){
     $('#upImg_<?php echo $_product->getId();?>').live("click", function() {
                                var textbox = document.getElementById('qty_<?php echo $_product->getId();?>');
                                textbox.value = parseInt(textbox.value)+1;
                                event.preventDefault();
                                });
     $('#downImg_<?php echo $_product->getId();?>').live("click", function() {
                                  var textbox = document.getElementById('qty_<?php echo $_product->getId();?>');
                                  if (textbox.value>1)
                                  textbox.value = parseInt(textbox.value)-1;
                                  event.preventDefault();
                                  });
                                });
</script> 

Отвечено в этой теме PHP сгенерировал текстовую операцию с Javascript

Спасибо за просмотр.

1 Ответ

0 голосов
/ 29 мая 2009

Проблема в # в href - он имеет определенное поведение, и вам нужно его переопределить, проще всего вернуть false в обработчики кликов.

Редактировать: я знал, это было обманом - protectDefault () для тега

...