我一直在努力让我的jquery gritter通知在部分回发后工作,经过大量的谷歌搜索我发现很多建议推荐pageLoad功能。我不确定我是否已经正确实现了它,但现在根本没有显示gritter通知,即使在部分或完全回发之前也是如此。
你能看到我错在哪里吗? 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>
提前致谢,
戴夫
答案 0 :(得分:1)
$(function(){...});在页面加载时调用,您不需要将其包装在名为pageLoad的函数中。
如果在页面加载后添加了.buy-notify
元素,则可能需要使用.live('click', function() ...
而不是.click(function() ...
绑定,因为.click
仅绑定到jQuery可见的元素在初始页面加载。
答案 1 :(得分: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;
});
});
答案 2 :(得分:0)
他们没有必要这样做
$(function () {
});
在一个函数中,您可以通过在HTML中的Body标签上使用onload事件来完成此操作,如
<body onload="javascript:pageLoad()">
否则检查jQuery中的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;
});
});
第三种方式有点简单
<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;
});
}