0
pageinit
이벤트에서 내 페이지의 특정 <li>
에 대한 클릭을 jQuery Mobile에서 트리거하려고 시도하고 있습니다.pageinit에서 jQuery Mobile으로 클릭 트리거링
그러나 나는 라인에 오류가 :
var currentPage = $.mobile.activePage;
Error: TypeError: currentPage is undefined
무엇을 달성하려고하는 것은 그 reminder
의 매개 변수는에를 통해 전달되는 경우 URL을 입력 한 다음 <li>
에 대한 클릭을 트리거하고 싶습니다. 잘못된 jQM 이벤트 (pageinit)를 사용하고 있는지 확실하지 않지만 어떤 이유로 "활성 페이지"가없는 것으로 보입니다.
$(document).on('pageinit', function (event, ui) {
var page = $(event.target);
page.find("li.static_nav").on('click', function() {
var currentPage = $.mobile.activePage;
var subheader = currentPage.find("#static_page_sub_header");
var target = $(this).attr("data-target");
$(this).siblings().removeClass('active');
$(this).addClass('active').find('a').clone(true, true).appendTo(subheader.empty());
currentPage.find(".static_panel").hide();
return false;
});
if (page.find('#p_content').length !== 0) {
var url = $.mobile.path.parseUrl(document.location.href);
var query_string = url.search;
if (/reminder/i.test(query_string)) {
$('li.static_nav:eq(1)', $.mobile.activePage).trigger('click');
}
}
});
pageinit은 일단 페이지가로드를 처음 발사 전용입니다. 페이지가 이미 캐시에있는 경우 (이미로드 된 경우) 페이지로 돌아갈 때이 이벤트는 시작되지 않습니다. 새 페이지 나 캐시 된 페이지에 관계없이 페이지가 표시 될 때마다 페이지 쇼 이벤트가 발생합니다. – Drew
위 코드의 if 문 부분을 pageshow 이벤트로 이동하려고 시도하지만 클릭 바인딩은 pageinit에 그대로 두십시오. – Drew
@Drew Awesome, 정확히 내가 사용했던 것입니다. 찾고. 이상하게도 아직 내 애플리케이션 로직을 내 코드의'pageshow' 이벤트에 추가 할 필요가 없습니다. (그래도 자리 표시자를 가지고 있지만). 제출하고 싶다면 이것을 답으로 받아들이는 것이 더 행복 할 것입니다.하지만,'pageshow' jQM 이벤트를 사용하여이 일을하는 또 다른 방법이 있습니까? – crmpicco