2015-01-26 5 views
-1

В первом периоде мы делаем это:Из специальной функции глобальной функции

$(document) 
    .off('pagecreate','#MAT1000P00') 
    .on('pagecreate','#MAT1000P00', function() { 
     $(document) 
      .off('click','#MAT1000P00-listview li') 
      .on('click','#MAT1000P00-listview li', function() {.... 

для нашей первой страницы. Теперь мы хотим, чтобы это можно было сделать на любой странице:

$(document) 
    .off('pagecreate') 
    .on('pagecreate',function (event,ui) { 
     var activePage = $.mobile.pageContainer.pagecontainer("getActivePage"); 
     var activePageId = activePage[0].id; 
     $(document) 
      .off('click', '#' + activePageId + '-listview li') 
      .on('click', '#' + activePageId + '-listview li', function() {... 

но новый код не работает ... почему?

+0

Вы должны прочитать, что событие делегация делает в JQuery (каким образом .он работы) и то, что он делает. –

+0

Не могли бы вы немного объяснить, что вы пытаетесь сделать здесь. Удаление/присоединение событий не похоже на наиболее эффективный шаблон, который вы могли бы использовать. –

+0

Благодаря Rory для лучшего формата ваш комментарий. мы немного приукрасим наш код ... –

ответ

1

Теперь мы нашли решение для глобализации нашей функции. Меняем документ-элемент как идентификатор подвижной контейнер и теперь он будет работать:

$(document) 
.on('pagecreate',function (event,ui) { 
    $(':mobile-pagecontainer').on('click','li',function() {.... 
+1

Используйте ссылку «Изменить» под своим вопросом, чтобы добавить информацию ... Ответы должны быть ответами – apaul