在单击处理程序内调用函数,而不是运行

时间:2016-08-08 04:19:34

标签: javascript jquery function onclick

问题

我正在调用应该删除resetSelection类的函数.is-active,并在提交按钮{{之后“添加is-inactive类曲棍球玩家列表等等。已点击1}}。

现在,.btn--submit类仍留在被挑选的玩家身上且该功能没有运行?

的index.html

.is-active

scripts.js中

<button class="btn btn--submit"><img src="src/img/ballot-alt.png" class="image--ballot">Submit Vote</button>

2 个答案:

答案 0 :(得分:1)

您的函数将单击处理程序事件绑定到具有类btn--reset的元素。考虑重构resetSelection以在该事件处理程序中包含逻辑,但不包括事件处理程序本身:

function resetSelection() {
    $(".picked").removeClass("is-active");
    $(".picked").addClass("is-inactive");
    $(".icon-checkmark").removeClass("is-completed");
    $(".btn--submit").hide();
    $(".btn--submit").removeClass("slideLeft");
    starredGoaltenders = 0;
    starredDefencemen = 0;
    starredForwards = 0;
    console.log(starredGoaltenders, starredDefencemen, starredForwards);
}

$(".btn--reset").on("click", resetSelection);

$(".btn--submit").on("click", function(){
    console.log("Clicked");
    resetSelection();
});

答案 1 :(得分:0)

您的reselectSelection()函数包含.btn--reset的点击事件处理程序。删除该处理程序,它应该适合您,因为您想在单击.btn--submit时触发重置功能。<​​/ p>