как я могу запускать событие jquery mobile "pagebeforeshow" каждый раз, а не только при обновлении - PullRequest
4 голосов
/ 26 сентября 2011

У меня есть мобильная страница jquery, которая использует следующий код, чтобы скрыть кнопку при доступе к странице.

$('div:jqmData(role="page")').live('pagebeforeshow',function(){
  $("#apply_btn").hide()
});

Моя проблема в том, что событие возникает только при обновлении страницы, а не при ее поступлениина странице, находящейся где-то еще на сайте.

Я попытался использовать событие "pageshow" и событие "pageinit", но оно все еще срабатывает только при обновлении страницы.

Ответы [ 4 ]

10 голосов
/ 07 марта 2013

Просто помните, что живой метод был удален из jQuery 1.9. Теперь вы должны использовать метод on :

$( '#yourPage' ).on( 'pagebeforeshow',function(event){
    $("#uniqueButtonId").hide();
});
7 голосов
/ 03 мая 2012

Взгляните на http://jquerymobile.com/demos/1.1.0/docs/api/events.html

Это синтаксис:

$( '#yourPage' ).live( 'pagebeforeshow',function(event){
    $("#uniqueButtonId").hide();
});

Удачи

3 голосов
/ 30 декабря 2013

Как ни странно, у меня не работает короткая версия:

$( '#yourPage' ).on( 'pagebeforeshow',function(event){
    $('#uniqueButtonId').hide();
});

, но я должен использовать:

$(document).on( 'pagebeforeshow' , '#yourPage' ,function(event){
    $('#uniqueButtonId').hide();
});
1 голос
/ 16 ноября 2011

попробуйте это ..

$('div:jqmData(role="page")').live('pagebeforeshow',function(){
    $("#apply_btn",context).hide()
});
...