Альтернативный Для livequery, чтобы прикрепить события для нумерованных сеток - PullRequest
0 голосов
/ 02 апреля 2011

Я использую livequery для своего проекта для добавления событий в ссылки в таблице / сетке. Сетка разбита на страницы ajax. Подтверждаемая ссылка отображает диалог при нажатии. Это событие нажатия прикрепляется к сетке с помощью livequery.

Ниже приведен макет структуры сетки / таблицы. Часть #ajaxGrid возвращается в виде HTML в вызове ajax для разбивки на страницы.

<div id="ajaxgridDiv">
  <div id="ajaxGrid">
     <a href="#" class="confirmableLink">Click here for a Jquery UI dialog</a>
     <div class="paginator">
      //links to prev/next  pages.
     </div>
  </div>
</div> 

Как можно использовать .live () или .delegate () вместо livequery в такой ситуации. Моя проблема возникает из-за того, что я не могу прикрепить 'load' событие с использованием делегата, поскольку такое событие не всплыло.

1 Ответ

0 голосов
/ 12 ноября 2011

Единственное решение, которое я мог придумать, было:
вернуть фрагмент сценария вместе с HTML-кодом ajaxGrid, например

<script type="text/javascript">
 $(function(){
     $('ajaxGrid').trigger('ajaxGridLoadEvent');
});
</script>

и настройте делегирование на главной странице как:

 <script type="text/javascript">
 $(function(){
     $('ajaxGridDiv').delegate('#ajaxGrid','ajaxGridLoadEvent',function(){
         //attach click events to the confirmableLinks 
     });
});
</script>
...