1

在部分回发后,我一直在努力让我的 jquery gritter 通知正常工作,经过大量谷歌搜索后,我发现了许多推荐 pageLoad 函数的建议。我不确定我是否正确实施了它,但现在根本不显示 gritt 通知,即使在部分或全部回发之前也是如此。

你能看出我哪里错了吗?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>

提前致谢,

戴夫

4

3 回答 3

1

$(函数 () { ... }); 在页面加载时调用,您不需要将其包装在名为 pageLoad 的函数中。

如果您的.buy-notify元素是在页面加载后添加的,您可能希望使用.live('click', function() ...而不是.click(function() ...绑定,因为.click仅绑定到初始页面加载时 jQuery 可见的元素。

于 2011-07-06T16:10:59.950 回答
0

他们没有必要做

  $(function () {
});

在一个函数中,您可以通过在 HTML 中的 Body 标记上使用 onload 事件来做到这一点,例如

<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;
      });
}
于 2011-07-06T16:47:12.457 回答
0

他们可能指的是页面完全加载时运行的函数的 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;
  });
});
于 2011-07-06T16:12:48.413 回答