2013-08-27 4 views
3

Я хочу поймать событие, если изменяется конкретная страница мобильного сайта jQuery. Например, я использовал код, который я указал ниже:jQuery mobile run на страницеобменить событие на конкретную страницу

$(document).on("pagechange", function() { 
    alert("page changed"); 
}); 

Но, как я могу сделать эту функцию запустить только для конкретной страницы, например: страница, которая имеет идентификатор = «MYPAGE»? Я хочу, чтобы он выдавал предупреждение только тогда, когда myPage изменен.

(* Я использую несколько структуру страницы в JQuery мобильный)

+6

'$ ('# PageId') на ("pagechange", функция() {и т.д ....' – Omar

+0

. кто-то ответил на это здесь так же, как прокомментировал омар. http://stackoverflow.com/a/9609212/562036 – Jianhong

ответ

0
$(document).on('pagechange', '#myPage', function (event) { 
    alert("I alert only on #myPage"); 
}); 
+1

$ ('# myPage'). On ('pagechange', ... - не работает, потому что событие смены страницы запускается на pagecontainer, см. http://forum.jquery.com/topic/pagechange-event-not-firing –

1

Я думаю, что вы могли бы зарегистрировать события на странице вместо документа:

<!DOCTYPE html> 
<html> 
<head> 
<meta name="viewport" content="width=device-width, initial-scale=1"> 
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.css"> 
<script src="http://code.jquery.com/jquery-1.11.3.min.js"></script> 
<script src="http://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.js"></script> 
</head> 
<body> 
<div data-role="page" id="pageone"> 
    <div data-role="main" class="ui-content"> 
    <p>Page 1</p> 
    <div data-role="navbar"> 
    <ul> 
     <li><a href="#pagetwo" >TWO</a></li> 
     <li><a href="#" class="ui-btn-active ui-state-persist">ONE</a></li> 
    </ul> 
    </div> 
    </div> 
</div> 
<div data-role="page" id="pagetwo"> 
<div data-role="main" class="ui-content"> 
    <p>Page 2</p> 
    <div data-role="navbar"> 
    <ul> 
    <li><a href="#" class="ui-btn-active ui-state-persist">TWO</a></li> 
    <li><a href="#pageone" >ONE</a></li> 
    </ul> 
    </div> 
</div> 
</div> 
<script> 
$("#pageone").on("pageshow", function() { 
    alert("cambio a pagina 1"); 
}); 
$("#pagetwo").on("pageshow", function() { 
    alert("cambio a pagina 2"); 
}); 
</script> 
</body> 
</html> 

Если вы предпочитаете событие pagechange, вы можете получить URL-адрес страницы:

$(document).on("pagechange", function(toPage) { 
    alert(toPage.currentTarget.URL); 
}); 
Смежные вопросы