Изменить тему кнопки при нажатии - PullRequest
4 голосов
/ 19 декабря 2011

Я пытаюсь изменить тему данных кнопки при нажатии.

Я вызываю эту функцию JavaScript в обработчике кнопки onClick:

function changeNextButtonColor() {
    var nextButton = document.getElementById('next');
    nextButton.setAttribute('data-theme', 'a');
}

но тема не меняется. Есть идеи?

Ответы [ 2 ]

3 голосов
/ 19 декабря 2011

После того, как вы установили тему на кнопку, вам нужно будет вызвать «обновить», как показано ниже ...

$("#next").attr("data-theme","a").button('refresh');

Если вы хотите связать такое поведение со всеми «последующими» кнопками в процессе, и их может быть больше, чем одна, тогда вы можете рассмотреть возможность сделать что-то более похожее на это. Он будет проверять каждую страницу на наличие кнопки, имеющей класс colorChangeButton, а затем при нажатии изменяет тему на альтернативную тему, указанную в атрибуте этих кнопок data-theme-press.

<a href="#" data-role="button" class="colorChangeButton" data-theme-pressed="a" data-theme="b">Next</a>

<script type='text/javascript'>
    $('div').live('pageinit', function(){
        $("a.colorChangeButton).click(function(){
           var $thisButton = $(this);
           $thisButton.attr("data-theme",$thisButton.attr("data-theme-pressed")).button('refresh');
        });
    });
</script>
2 голосов
/ 19 декабря 2011
function changeNextButtonColor() {
    $('#next').attr({'data-theme': 'a'});
}

Если вы используете jQuery, это ваш код.

...