2012-08-04 5 views
0

jQuery Mobile로 애플리케이션을 생성 중입니다.href 속성을 jQuery Mobile의 jQuery로 변경하십시오.

페이지로 리디렉션되는 링크를 원합니다. 예를 들면 :

<a href="/Account/" data-transition="turn" class="useroptions">Account</a> 

그것은 모든 페이지에 사용할 수 있으며, 나는 이런 일에 모든 페이지에 링크의 href을 변경하려면 :이 코드를 작성했습니다

<a href="/Account/?returnUrl=http%3A%2F%2Fexample.com%2FAbout" data-transition="turn" class="useroptions">Account</a> 

하지만,

$(function() { 
    $(".useroptions").attr("href", "/Account/?returnUrl=" + encodeURIComponent(document.URL)); 
}); 
수행하는 방법에

모든 페이지는 우이다 : jQuery를 모바일 아약스 탐색있는 페이지를로드 할 때 작동하지 않습니다 wn? (어떤 이벤트를 사용해야합니까? ...)

+0

당신은 아마도'pageinit' 이벤트를 수신 할 수 있고, 문서에 따라 : http://jquerymobile.com/demos/1.1.1/ docs/pages/page-scripting.html –

+0

일부 페이지에서 * 프리 페치 *를 사용하고 있으므로 해당 이벤트를 사용할 수 없습니다. 실제로 ** 페이지 **가 표시 될 때 실행되는 이벤트가 필요합니다 ... –

+0

아마도'pageshow '가 내 문제를 해결할 수 있습니다. http://jquerymobile.com/test/docs/api/events.html 참고 : ** 모든 페이지 **에 해당 이벤트를 적용하는 방법을 모르겠습니다. 하나씩 하나씩 ... –

답변

1

jQuery Mobile의 pageshow 이벤트를 사용해야합니다. this 페이지의 pageshow 부분을 참조하십시오.

는 jQuery 코드의

수정 된 버전은 제대로 작동합니다 :

$("div[data-role='page']").live("pageshow",function() { 
    $(".useroptions").attr("href", "/Account/?returnUrl=" + encodeURIComponent(document.URL)); 
}); 
관련 문제