2012-06-14 3 views
1

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

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

$(document).bind('pagebeforechange', function(event, data) { 

    if(typeof data.toPage === "string") { 
    var url = data.toPage; 
    var regex = /.../ 
    var paramsIndex = url.indexOf('?'); // Get rid of possible params 

    if(paramsIndex > 0) { 
     url = url.substr(0, paramsIndex); 
    } 

    if(regex.test(url)) { 
     event.preventDefault(); // Prevent the user from going back.. 
    }  
    } 

}); 

К сожалению, это не работает, даже если регулярное выражение работает должным образом и соответствие каждый раз, когда пользователь нажимает кнопку (и только тогда). Мне было интересно, есть ли у вас какие-либо идеи, я бы предпочел использовать навигацию jQuery для ajax.

Приветствия

ответ

0

Я не специалист по мобильной разработке, с но видящие this question, может быть, вы должны попробовать это: в обработчике события, замените event.preventDefault(); с return false;. Это может только дать вам больше шансов на достижение вашей цели.

0

return false; as Samuel добавлено event.stopImmediatePropagation();

Смежные вопросы