一个按钮执行两个任务,需要在jQuery中调用第二个函数

时间:2016-12-13 04:41:29

标签: javascript jquery

我正在制作一个琐事游戏而且我最后一部分被困住了。我正在显示所有正确,错误,未回答的问题。

function displayResults() {
    $('#timer').html("Correct answers: " + correct);
    $('#fiveSec').html("Incorrect answers: " + incorrect);
    $('#question').html("Unaswered: " + unanswered);
    $('#correct-answer').empty();
    $('#answers').append('<input type="button" class="btn btn-primary" "start-button" value="Play Again">');
}

在这个功能的最后,在按钮内部,我需要有一个方法来启动游戏再次运行的这个功能。

$('#start-button').on('click', function() {
    currentQuestion = 0;
    correct = 0;
    incorrect = 0;
    unanswered = 0;
    count = 30;
    five = 5;
    currentTeamsLength = 0;
    displayQuestion();
    $(this).remove();
});

所以这个#start-button是启动游戏的同一个按钮,我希望在游戏结束后再次在displayResults内再次运行它。有任何想法吗?

4 个答案:

答案 0 :(得分:1)

您需要re-trigger来自click的{​​{1}}事件displayQuestions(),如下所示,

$('.start-button').trigger('click');

请按以下方式修改按钮,

$('#answers').append('<input type="button" class="btn btn-primary start-button" value="Play Again">');

您还需要使用委托方法

绑定click事件
$("#answers").on('click', '.start-button', function(){
      // your code logic
});

你需要使用类选择器,因为按钮上没有id。

答案 1 :(得分:0)

Jsut制作一个像这样的新功能

<jndiEntry jndiName="analytics/shards" value='"5"'/>
<jndiEntry jndiName="analytics/masternodes" value='"node1.domain.net:9600,node2.domain.net:9600"'/>
<jndiEntry jndiName="analytics/discovery.zen.minimum_master_nodes" value='"2"'/>
<jndiEntry jndiName="analytics/nodename" value='"node1"'/>
<jndiEntry jndiName="analytics/replicas" value='"2"'/>

从displayResults

调用此函数

或者

您可以手动触发displayResult中的点击,如

 $('#start-button').on('click', startGame)

 function startGame(){
     currentQuestion = 0;
     correct = 0;
     incorrect = 0;
     unanswered = 0;
     count = 30; 
     five = 5;
     currentTeamsLength = 0;
     displayQuestion();
     $(this).remove();
});

答案 2 :(得分:0)

首次按下时更改按钮文本,然后根据按钮文本放置If条件然后执行另一个功能。 (我希望这就是你所问的,你的问题不是很清楚)

答案 3 :(得分:0)

想出来。我愚蠢的错误。一切都在$('#answers')。append('');我在id ='#start-button'中不需要#。之后我改变了$('#start-button')。on('click',function()到$(document).on('click','start-button'function()然后我不得不清除一些div在displayResults函数