我的javascript文件中包含以下代码:
$(document).ready(function(){
$("#shuffle, #game_over_shuffle").bind("click", shuffleBoard);
});
这会在div中播放一些东西。现在我也有一个看起来像这样的评分系统:
// Ad score
var score = 0;
您可以使用提示,但这会降低您的分数(从更大的功能中删除):
// Remove 500 points when used
score -= 500;
$('#score').text(score);
这一切都有效,但现在我想在使用后缀时将分数重置为0。我试过这个:
$("#shuffle, #game_over_shuffle").bind("click", shuffleBoard, resetScore);
注意我添加了resetScore并创建了一个新功能来重置分数:
function resetScore(){
score = 0;
$('#score').text(score);
};
但这并没有将分数重置为0.我缺少什么?
亲切的问候, 莫里斯
================================
我自己找到了解决方案。而不是创建一个新的功能,我扩展了一个现有的(使用相同的绑定)将分数设置为0.感谢所有人试图帮助我!
答案 0 :(得分:1)
您只能将一个事件处理程序传递给bind
方法。你必须在匿名函数中调用这两个函数:
$("#shuffle, #game_over_shuffle").bind("click", function() {
shuffleBoard();
resetScore();
});
以下是此代码的实际示例: http://jsbin.com/iresem/edit
答案 1 :(得分:0)
如果你正在使用jQuery 1.5,那么你可以利用新的Deferred Objects
这样的事情:
var deferred = $.Deferred();
deferred.done(shuffleBoard).done(resetScore);
$("#shuffle, #game_over_shuffle").bind("click", function() {
deferred.resolve();
}
答案 2 :(得分:0)
我自己找到了解决方案。而不是创建一个新的功能,我扩展了一个现有的(使用相同的绑定)将分数设置为0.感谢所有人试图帮助我!