2013-03-29 2 views
3

동적으로 버튼 테마를 동적으로 변경하는 데 약간의 문제가 있습니다. - 다음 버튼을 데이터 테마 "C"로 다시 떨어질JQueryMobile에서 동적으로 버튼 데이터 테마 변경하기

<input type="button" data-inline="true" data-mini="true" data-theme="c" id="my-button" value="Save"> 
<script> 
$("#my-button").buttonMarkup({ theme: 'a' }).button('refresh'); 
</script> 

가 기술적으로이 이상 내가 마우스까지, 작동 : 다른 포스트에서 나는 사용을 배웠습니다. 동적으로 테마를 변경하는 더 좋은 방법이 있습니까? 당신이

<a href="#" id="my-button2" data-role="button" data-theme="e">Save2</a> 

아래로 버튼을 사용하는 경우

답변

0

나는에 대한 답을 찾기 위해 노력

$('#my-button2').attr("data-theme", "c").removeClass("ui-btn-up-e").addClass("ui-btn-up-c"); 

체크 아웃 여기에 라이브 바이올린 아래와 같은 테마를 변경할 수 있습니다 이 하나,하지만 DOM 구조를 조사한 후이 솔루션을 내놓았다. 단추를 클릭하면 테마를 토글하는 아래 기능을 만들었습니다. 클릭하는 동일한 버튼의 테마를 변경할 때만 호버 클래스를 해결해야합니다. 이것은 입력 유형 버튼 요소에서 작동하는 것처럼 보입니다. (jqm 버전 1.3.2)

function changeButtonTheme(buttonSelector,toTheme){ 
    var currentTheme = $(buttonSelector).attr('data-theme'); 
    var parent = $(buttonSelector).parent(); 
    $(buttonSelector).attr("data-theme", toTheme).removeClass("ui-btn-up-"+currentTheme).addClass("ui-btn-up-"+toTheme); 
    parent.attr("data-theme", toTheme).removeClass("ui-btn-up-"+currentTheme).addClass("ui-btn-up-"+toTheme); 
    //parent.removeClass("ui-btn-hover-"+currentTheme).addClass("ui-btn-hover-"+toTheme); 
} 
+0

아직 테스트하지 않았지만 코드가 btn-up 상태 만 변경한다고 생각합니다. 마우스를 올리거나 올리면 이전 상태로 변경되는 이벤트 핸들러가 메모리에 남아 있습니다. 그래도 내가 잘못 될 수있어 .. – Anthony

관련 문제