重置jquery .click函数的调用
Reset jquery .click functions on call
我想做一个测验脚本。它正在加载问题并记录分数,但"点击"标签似乎是随着每个新问题而添加的。而不是被改变。这导致了奇怪的计数行为,使我的脚本无法使用。是否有某种方式,我可以"重置"点击功能?我已经试过"覆盖"它们,但似乎不起作用。
var vragenArray = ["zero","Bla bla bla?","Boem Boem Boem?","Boing Boing Boing?","Floep Floep Floep?"];
var antA_Array = ["zero","antwoord1_a","antwoord2_a","antwoord3_a","antwoord4_a"];
var antB_Array = ["zero","antwoord1_b","antwoord2_b","antwoord3_b","antwoord4_b"];
var antC_Array = ["zero","antwoord1_c","antwoord2_c","antwoord3_c","antwoord4_c"];
var antD_Array = ["zero","antwoord1_d","antwoord2_d","antwoord3_d","antwoord4_d"];
var juistArray = ["zero","B","C","B","A"];
var aantalVragen = 21;
var counterVragen = 0;
var score = 0;
function laadVraag(){
console.log("laadVraag geladen");
counterVragen++;
$("#vraagNummer").text(counterVragen);
$("#vraag").text(vragenArray[counterVragen]);
$("#antA").text(antA_Array[counterVragen]);
$("#antB").text(antB_Array[counterVragen]);
$("#antC").text(antC_Array[counterVragen]);
$("#antD").text(antD_Array[counterVragen]);
$("#score").text(score);
$("#correct").text(juistArray[counterVragen]);
$("#antA_click").click(function(){ laadVraag(); });
$("#antB_click").click(function(){ laadVraag(); });
$("#antC_click").click(function(){ laadVraag(); });
$("#antD_click").click(function(){ laadVraag(); });
juisteAntwoord(juistArray[counterVragen]);
};
function juisteAntwoord(antwoord){
console.log("juisteVraag geladen");
$("#antB_click").click(function(){
score++;
laadVraag();
});
};
$(document).ready(function() {
laadVraag();
});
这是一个jsFiddle与当前脚本。http://jsfiddle.net/D7MMa/1/
希望有人能帮助我!:)
您可以使用.off()
<描述:删除一个事件处理程序。
代码/em>
$(selector).off('click').on('click', function(){
//Your Code
});
更新小提琴我想这里有一个类似的问题,基本上他说的是你可以调用unbind()来删除所有的点击事件
$('#elemendId').unbind('click');
,而且API已经更新,.bind()/.unbind()仍然仅用于向后兼容,并且您应该使用off/on函数,如
$('#elemendId').click(function() { return false; }); // Adds another click event
$('#elemendId').off('click');
$('#elemendId').on('click.mynamespace', function() { /* Do stuff */ });
$('#elemendId').off('click.mynamespace');
你应该阅读之前的回答,因为他更详细地解释了这一点。
编辑:你可以在这里使用。unbind('click')方法找到Fiddle这里使用off()方法
相关文章:
- 如何从模块链中调用函数.导出到节点中
- 调用函数内部的函数
- 在javascript中调用c函数
- DropDownListFor赢得't在更改时调用函数
- Javascript页面调用函数
- 在动画结束之前调用函数
- 允许父窗口在其不同域的子iframe上调用函数
- 运行Infinite Scroll后调用函数时出现问题
- JavaScript:在调用函数的文本输入上按enter键
- 使用大括号和不使用bracs调用函数的区别
- javascript在事件上调用函数
- 从index.html调用函数,该函数无限循环
- 从带参数的字符串变量调用函数中的函数
- 为什么 JS 不在滚动时调用函数
- 是否可以在不更改上下文的情况下调用函数.apply
- 如何在ES6类中使用参数调用函数
- AngularJS:调用函数时编号不更新
- JavaScript中的立即调用函数表达式(IIFE)-传递jQuery
- 在JavaScript中调用函数时自定义此选项
- 调用函数中声明的变量