-1
    <body>
    <div data-role="page">

    <div align="center" id="mainPageContent1" data-role="content">    
            <div data-role="controlgroup" id="game_part1s" data-type="horizontal">

<a data-role='button' id='btn1' href='javascript:changeGamePart("Reset1");'>0 - 5 min</a>
<a data-role='button' id='btn2' href='javascript:changeGamePart("2");'>6 - 10 min</a>
<a data-role='button' id='btn3' href='javascript:changeGamePart("3");'>10 - 15 min</a>
<a data-role='button' id='btn4' href='javascript:changeGamePart("4");'>16 - 20 min</a>

             </div>
        </div> 
    </div><!-- /page -->

<script>
$(document).ready(function() {
    setInitialGamePart();
});
function setInitialGamePart() {
    changeGamePart(1);
}
function changeGamePart(nButtonId) {
    for (var iPart = 1; iPart < 5; iPart++) {
        if (nButtonId == iPart) {
    //alert('add class' + iPart);
            $('#btn' + iPart).addClass("ui-btn-active");
            } else {
    //alert('remove class' + iPart);
                $('#btn' + iPart).removeClass("ui-btn-active");
                }
            }
        }

    </script>
</body>

在 Page Init 上,调用了 setInitialGamePart 并将第一个按钮设置为活动状态,而其余按钮则设置为非活动状态。当我单击任何其他按钮时,所有按钮都未激活(普通按钮未突出显示)

不知道这里有什么错误

JSFiddle 这里http://jsfiddle.net/fFZ6S/

正如您将看到的,init 工作正常,但单击按钮却不行。请帮忙

4

1 回答 1

0

我通过将 href 更改为 href='#' 解决了这个问题,所以旧代码是

<a data-role='button' id='btn1' href='javascript:changeGamePart("1");'>0 - 5 min</a>

我的新代码看起来像

<a data-role='button' id='btn1' href='#' onclick='javascript:changeGamePart("1");'>0 - 5 min</a>

从这个堆栈中得到了提示.. jquery mobile force ui-btn-active on navbar button

这是给你们的 JSFiddle http://jsfiddle.net/fzaqu/

希望对你有帮助

于 2012-12-29T16:38:42.457 回答