функция pageLoad не работает - PullRequest
1 голос
/ 06 июля 2011

Я изо всех сил пытался заставить мое уведомление jquery gritter работать после частичной обратной передачи, после большого количества поиска в Google, я нашел много предложений, рекомендующих функцию pageLoad.Я не уверен, правильно ли я это реализовал, но теперь уведомление о нарушении не отображается вообще, даже до частичной или полной обратной передачи.

Можете ли вы увидеть, где я иду не так?Javascript / jquery не моя сильная сторона.

<script type="text/javascript">

    function pageLoad() {
        $(function () {
            $('.buy-notify').click(function () {
                var spn = this.attributes.getNamedItem('PartNumber').value;
                $.gritter.add({
                    title: 'Order notification..',
                    text: 'Adding ' + spn + ' to basket',
                    time: 1000
                });
                return true;
            });
        });
    };

</script>

Заранее спасибо,

Дейв

Ответы [ 3 ]

1 голос
/ 06 июля 2011

$ (function () {...}); вызывается при загрузке страницы, вам не нужно заключать его в функцию с именем pageLoad.

Если ваши .buy-notify элементы добавляются после загрузки страницы, вы можете использовать .live('click', function() ... вместо привязки .click(function() ..., поскольку .click привязывает только элементы, видимые для jQuery при начальной загрузке страницы.

0 голосов
/ 06 июля 2011

их нет необходимости делать

  $(function () {
});

в функции, которую вы можете сделать, используя событие onload для тега Body в HTML, например

<body onload="javascript:pageLoad()">

, иначе проверьте загрузку страницы в jQuery исвязать событие

$(function() {
  $('.buy-notify').click(function () {
     var spn = this.attributes.getNamedItem('PartNumber').value;
      $.gritter.add({
      title: 'Order notification..',
      text: 'Adding ' + spn + ' to basket',
      time: 1000
    });
    return true;
  });
});

третий способ немного проще, что

<a href="javascript:void(0)" onclick="javascript:iamclick(0)"></a>

function iamclick(){
   var spn = this.attributes.getNamedItem('PartNumber').value;
          $.gritter.add({
          title: 'Order notification..',
          text: 'Adding ' + spn + ' to basket',
          time: 1000
        });
        return true;
      });
}
0 голосов
/ 06 июля 2011

Они могут ссылаться на ярлык jQuery для функции, которая запускается при полной загрузке страницы:

$(function() {
  $('.buy-notify').click(function () {
     var spn = this.attributes.getNamedItem('PartNumber').value;
      $.gritter.add({
      title: 'Order notification..',
      text: 'Adding ' + spn + ' to basket',
      time: 1000
    });
    return true;
  });
});
...