2012-03-15 4 views
5

ajax 호출시 서버에서 앵커 태그 스 니펫 html을받습니다. jquery 모바일이 링크에 필요한 클래스를 추가 할 수 있도록 "새로 고침"하는 방법은 무엇입니까? 예를 들어jquery Mobile에서 동적으로 생성 된 앵커 태그를 어떻게 다시 렌더링합니까?

JQuery와 모바일 생성하는 UI 링크가있는 링크 : 내가 올바른 스타일이 새로 생성 된 앵커 태그에 추가되어 있는지 확인하려면 어떻게

<a class="ui-link" href="http://www.google.com">http://www.google.com</a> 

를? 여기

+0

Ajax 호출에 대한'success' 콜백의 일부로 함수를 실행 하시겠습니까? –

+0

JS 코드를 게시 할 수 있습니까? 구체적으로 어떤 위젯을 '새로 고침'하려고합니까? – Jasper

답변

1

이미 다음 각 유형을 새로 고칠 수 있습니다 초기화 된 위젯을 새로 고치려면 나는 엉덩이를 선택 .ui-btn 클래스를 사용

$('.ui-btn').button('refresh'); 

주의 사항 : 위젯의 그것의 각각의 기능을 사용하여 on 요소에서이 클래스는 버튼이 초기화 된 후에 추가되므로 이미 초기화 된 버튼 위젯을 새로 고칠 수 있습니다.

문서 : 나는 이미 초기화 위젯을 생략 여기

$('[data-role="button"], button, input[type="button"], input[type="submit"]').not('.ui-btn').button();//or .trigger('create'); 

주의 사항 : http://jquerymobile.com/demos/1.1.0-rc.1/docs/buttons/buttons-methods.html

당신이 초기화 아직 위젯을 초기화해야하는 경우에, 당신은 단지 'refresh' 또는 사용 .trigger('create')을 생략 .not('.ui-btn')을 사용하여 초기화되지 않은 위젯 만 초기화합니다. 이미 초기화 된 위젯을 초기화하려고하면 오류가 발생합니다 (아직 초기화되지 않은 위젯을 새로 고치려고하는 경우와 동일).

업데이트

당신의 HTML이 다음은 DOM에 추가하기 전에 위젯을 초기화 할 수있는 서버에 의해 출력되는 경우 :

$.ajax({ 
    ... 
    success : function (serverResponse) { 
     var $out = $(serverResponse); 
     //if there is a container with elements inside it, use `.find()`, 
     //if all the elements are siblings at the top level then use `.filter()` 
     $out.find('a').button(); 
     $('body').append($out); 
    } 
}); 

당신은 또한 버튼 위젯을 업데이트 할 .buttonMarkup() 기능을 사용할 수 있습니다 : http://jquerymobile.com/demos/1.1.0-rc.1/docs/buttons/buttons-options.html

관련 문제