2016-01-22 31 views
2

我正在开发适用于Android的Phonegap Build应用程序。我用onclick创建了两个按钮,它触发一个doHelper函数,它将禁用之后的按钮。但由于某些原因,即使在单击按钮之前按钮也始终被禁用。index.html中的按钮标记始终处于禁用状态

这是我的代码。

HTML:

<div class="gameHelper"> 
    <div class="row"> 
    <div class="twelve columns"> 
     <button onclick="doHelper('skip')" class="skipAnswer button helperButtons"> 
      Skip 
     </button> 

     <button onclick="doHelper('remove')" class="removeOneAnswer button helperButtons"> 
       Remove 1 
      </button> 
     </div> 
    </div> 

JS:

function doHelper(helperName) { 

    if (helperName == 'skip') { 

     var classVar = '.skipAnswer'; 
     skipAnswerUsed = true; 
     $(classVar).attr('disabled', 'disabled'); 
     $(classVar).css('background-color', 'red'); 
     submitAnswer(activeNumber); 

    } else if (helperName == 'remove') { 
     var classVar = '.removeOneAnswer'; 
     removeOneAnswerUsed = true; 
     $(classVar).attr('disabled', 'disabled'); 
     $(classVar).css('background-color', 'red'); 
    } 

} 

CSS:

.helperButtons { 
    width: 49%; 
    background-color: green; 
    color: white; 
} 
+1

你能添加CSS的.skipAnswer如果有任何? –

+0

@ user2033402不,我没有任何课程,我只是将它添加到按钮类以供将来使用,就像这个 –

回答

1

你的HTML和Javascript是正确的。可能还有另一个问题。

1

尝试这种方式

function doHelper(helperName) { 
        $('button').removeAttr('disabled') 
        $('button').css('background-color', ''); 
        if (helperName == 'skip') { 

         var classVar = '.skipAnswer'; 
         skipAnswerUsed = true; 
         $(classVar).attr('disabled', ''); 
         $(classVar).attr('disabled', 'disabled'); 
         $(classVar).css('background-color', 'red'); 
         submitAnswer(activeNumber); 

        } else if (helperName == 'remove') { 

         var classVar = '.removeOneAnswer'; 
         $(classVar).attr('disabled', ''); 
         removeOneAnswerUsed = true; 
         $(classVar).attr('disabled', 'disabled'); 
         $(classVar).css('background-color', 'red'); 
        } 
       } 
2

你用firefox?也许这就是问题所在,我加入

$(document).ready(function(){ 
    $(".button").removeAttr('disabled'); 
}); 
3

我建议你从你的JS分离该HTML有同样的问题前一段时间...

你可以解决它。

这可以通过事件处理程序完成。既然你已经使用jQuery,这里是一个可能的方式做到这一点:

$('button.skipAnswer').on('click', function() { 
    doHelper("skip"); 
}); 

$('button.removeOneAnswer').on('click', function() { 
    doHelper("remove"); 
}); 

https://jsfiddle.net/9jczt3uu/

相关问题